54 lines
		
	
	
		
			826 B
		
	
	
	
		
			Objective-C
		
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			826 B
		
	
	
	
		
			Objective-C
		
	
	
	
| // RUN: %clang_cc1 -fsyntax-only -triple x86_64-apple-darwin10  -fblocks -verify -Wno-objc-root-class %s 
 | |
| // RUN: %clang_cc1 -x objective-c++ -fsyntax-only -triple x86_64-apple-darwin10  -fblocks -verify -Wno-objc-root-class %s 
 | |
| // expected-no-diagnostics
 | |
| // rdar://9154582
 | |
| 
 | |
| @interface Blocky @end
 | |
| 
 | |
| @implementation Blocky {
 | |
|     int _a;
 | |
| }
 | |
| - (int)doAThing {
 | |
|     ^{
 | |
|         char self;
 | |
|         return _a;
 | |
|     }();
 | |
|     return _a;
 | |
| }
 | |
| 
 | |
| @end
 | |
| 
 | |
| 
 | |
| // rdar://9284603
 | |
| @interface ShadowSelf
 | |
| {
 | |
|     int _anIvar;
 | |
| }
 | |
| @end
 | |
| 
 | |
| @interface C {
 | |
|   int _cIvar;
 | |
| }
 | |
| @end
 | |
| 
 | |
| @implementation ShadowSelf 
 | |
| - (void)doSomething {
 | |
|     __typeof(self) newSelf = self;
 | |
|     {
 | |
|         __typeof(self) self = newSelf;
 | |
|         (void)_anIvar;
 | |
|     }
 | |
|     {
 | |
|       C* self;	
 | |
|       (void) _anIvar;
 | |
|     }
 | |
| }
 | |
| - (void)doAThing {
 | |
|     ^{
 | |
|         id self;
 | |
| 	(void)_anIvar;
 | |
|     }();
 | |
| }
 | |
| @end
 | |
| 
 |