diff options
| author | Fariborz Jahanian <fjahanian@apple.com> | 2011-07-12 17:16:56 +0000 |
|---|---|---|
| committer | Fariborz Jahanian <fjahanian@apple.com> | 2011-07-12 17:16:56 +0000 |
| commit | 7f4427fc603580ffe198fafa42152538eb955f95 (patch) | |
| tree | 8d492beadb3e66aa74e09b67b6afab51b2bf31e5 /clang/test/SemaObjC/self-declared-in-block.m | |
| parent | 3cb6628d7c0ac94f4ddba28ac374c74a672284aa (diff) | |
| download | bcm5719-llvm-7f4427fc603580ffe198fafa42152538eb955f95.tar.gz bcm5719-llvm-7f4427fc603580ffe198fafa42152538eb955f95.zip | |
Fix a bug where a local variable named 'self' is causing
implicit ivar accesses to go through the 'self' variable
rather than the real 'self' for the method. // rdar://9730771
llvm-svn: 134992
Diffstat (limited to 'clang/test/SemaObjC/self-declared-in-block.m')
| -rw-r--r-- | clang/test/SemaObjC/self-declared-in-block.m | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/clang/test/SemaObjC/self-declared-in-block.m b/clang/test/SemaObjC/self-declared-in-block.m index 4bd72021443..21310953c2c 100644 --- a/clang/test/SemaObjC/self-declared-in-block.m +++ b/clang/test/SemaObjC/self-declared-in-block.m @@ -7,11 +7,12 @@ @implementation Blocky { int _a; } -- (void)doAThing { +- (int)doAThing { ^{ - char self; // expected-note {{declared here}} - _a; // expected-error {{instance variable '_a' cannot be accessed because 'self' has been redeclared}} + char self; + return _a; }(); + return _a; } @end @@ -37,14 +38,14 @@ (void)_anIvar; } { - C* self; // expected-note {{declared here}} - (void) _anIvar; // expected-error {{instance variable '_anIvar' cannot be accessed because 'self' has been redeclared}} + C* self; + (void) _anIvar; } } - (void)doAThing { ^{ - id self; // expected-note {{declared here}} - (void)_anIvar; // expected-error {{instance variable '_anIvar' cannot be accessed because 'self' has been redeclared}} + id self; + (void)_anIvar; }(); } @end |

