Home | History | Annotate | Download | only in SemaObjC
      1 // RUN: %clang_cc1  -fsyntax-only -verify -Wno-objc-root-class %s
      2 // pr5986
      3 
      4 @interface Test {
      5   int index;
      6 }
      7 - (int) index;
      8 + (int) ClassMethod;
      9 @end
     10 
     11 @implementation Test
     12 - (int) index
     13 {
     14   return index;
     15 }
     16 + (int) ClassMethod
     17 {
     18   return index;	// expected-error {{instance variable 'index' accessed in class method}}
     19 }
     20 @end
     21 
     22 @interface Test1 {
     23 }
     24 - (int) InstMethod;
     25 + (int) ClassMethod;
     26 @end
     27 
     28 @implementation Test1
     29 - (int) InstMethod
     30 {
     31   return index;	// expected-warning {{implicitly declaring library function 'index'}}	\
     32                 // expected-note {{please include the header <strings.h> or explicitly provide a declaration for 'index'}} \
     33                 // expected-warning {{incompatible pointer to integer conversion returning}}
     34 }
     35 + (int) ClassMethod
     36 {
     37   return index; // expected-warning {{incompatible pointer to integer conversion returning}}
     38 }
     39 @end
     40 
     41