1// RUN: %clang_cc1 -fsyntax-only -triple x86_64-apple-darwin10 -fblocks -verify -Wno-objc-root-class %s 2// RUN: %clang_cc1 -x objective-c++ -fsyntax-only -triple x86_64-apple-darwin10 -fblocks -verify -Wno-objc-root-class %s 3// expected-no-diagnostics 4// rdar://9154582 5 6@interface Blocky @end 7 8@implementation Blocky { 9 int _a; 10} 11- (int)doAThing { 12 ^{ 13 char self; 14 return _a; 15 }(); 16 return _a; 17} 18 19@end 20 21 22// rdar://9284603 23@interface ShadowSelf 24{ 25 int _anIvar; 26} 27@end 28 29@interface C { 30 int _cIvar; 31} 32@end 33 34@implementation ShadowSelf 35- (void)doSomething { 36 __typeof(self) newSelf = self; 37 { 38 __typeof(self) self = newSelf; 39 (void)_anIvar; 40 } 41 { 42 C* self; 43 (void) _anIvar; 44 } 45} 46- (void)doAThing { 47 ^{ 48 id self; 49 (void)_anIvar; 50 }(); 51} 52@end 53 54