41 lines
		
	
	
		
			861 B
		
	
	
	
		
			Objective-C
		
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			861 B
		
	
	
	
		
			Objective-C
		
	
	
	
| // RUN: %clang_cc1  -fsyntax-only -verify -Wno-objc-root-class %s
 | |
| // pr5986
 | |
| 
 | |
| @interface Test {
 | |
|   int index;
 | |
| }
 | |
| - (int) index;
 | |
| + (int) ClassMethod;
 | |
| @end
 | |
| 
 | |
| @implementation Test
 | |
| - (int) index
 | |
| {
 | |
|   return index;
 | |
| }
 | |
| + (int) ClassMethod
 | |
| {
 | |
|   return index;	// expected-error {{instance variable 'index' accessed in class method}}
 | |
| }
 | |
| @end
 | |
| 
 | |
| @interface Test1 {
 | |
| }
 | |
| - (int) InstMethod;
 | |
| + (int) ClassMethod;
 | |
| @end
 | |
| 
 | |
| @implementation Test1
 | |
| - (int) InstMethod
 | |
| {
 | |
|   return index;	// expected-warning {{implicitly declaring library function 'index'}}	\
 | |
|                 // expected-note {{include the header <strings.h> or explicitly provide a declaration for 'index'}} \
 | |
|                 // expected-warning {{incompatible pointer to integer conversion returning}}
 | |
| }
 | |
| + (int) ClassMethod
 | |
| {
 | |
|   return index; // expected-warning {{incompatible pointer to integer conversion returning}}
 | |
| }
 | |
| @end
 | |
| 
 |