[clang] Handle __declspec() attributes in using
[llvm-project.git] / clang / test / SemaObjC / self-declared-in-block.m
blob36a9ef571d5ab502abcb15771490d3185424ce87
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
6 @interface Blocky @end
8 @implementation Blocky {
9     int _a;
11 - (int)doAThing {
12     ^{
13         char self;
14         return _a;
15     }();
16     return _a;
19 @end
22 // rdar://9284603
23 @interface ShadowSelf
25     int _anIvar;
27 @end
29 @interface C {
30   int _cIvar;
32 @end
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     }
46 - (void)doAThing {
47     ^{
48         id self;
49         (void)_anIvar;
50     }();
52 @end