54 lines
826 B
Mathematica
54 lines
826 B
Mathematica
|
// 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
|
||
|
|