// RUN: %clang_cc1 -fsyntax-only -verify %s
// rdar://10109725

@interface NSObject {
    Class isa;
}
- (id)addObserver:(NSObject *)observer; // expected-note 2 {{passing argument to parameter 'observer' here}}
@end

@interface MyClass : NSObject {
}
@end

@implementation NSObject
+ (void)initialize
{
        NSObject *obj = 0;
        [obj addObserver:self];
}

- init
{
        NSObject *obj = 0;
        [obj addObserver:self];
        return [obj addObserver:(Class)0]; // expected-warning {{incompatible pointer types sending 'Class' to parameter of type 'NSObject *'}}
}
- (id)addObserver:(NSObject *)observer { return 0; }
@end

@implementation MyClass

+ (void)initialize
{
        NSObject *obj = 0;
        [obj addObserver:self];
}

- init
{
        NSObject *obj = 0;
        [obj addObserver:self];
        return [obj addObserver:(Class)0]; // expected-warning {{incompatible pointer types sending 'Class' to parameter of type 'NSObject *'}}
}
@end
