Home | History | Annotate | Download | only in SemaObjC
      1 // RUN: %clang_cc1 -verify -Wno-objc-root-class %s
      2 
      3 typedef struct objc_class *Class;
      4 @interface XX
      5 
      6 - (void)addObserver:(XX*)o; // expected-note 2{{passing argument to parameter 'o' here}}
      7 
      8 @end
      9 
     10 @interface YY
     11 
     12 + (void)classMethod;
     13 
     14 @end
     15 
     16 @implementation YY
     17 
     18 static XX *obj;
     19 
     20 + (void)classMethod {
     21   [obj addObserver:self];     // expected-warning {{incompatible pointer types sending 'Class' to parameter of type 'XX *'}}
     22   Class whatever;
     23   [obj addObserver:whatever]; // expected-warning {{incompatible pointer types sending 'Class' to parameter of type 'XX *'}}
     24 }
     25 @end
     26 
     27