diff options
author | Fariborz Jahanian <fjahanian@apple.com> | 2010-02-26 19:55:31 +0000 |
---|---|---|
committer | Fariborz Jahanian <fjahanian@apple.com> | 2010-02-26 19:55:31 +0000 |
commit | ce2ea59d2c4f0a75dfc75a8a5241df1727601321 (patch) | |
tree | 40af1e13f9a27da87a9d1c83b33ca56bf9563569 /clang/test/Rewriter/rewrite-byref-in-nested-blocks.mm | |
parent | 9c56ec86b2566836514a99ba5d778733ec394e6a (diff) | |
download | bcm5719-llvm-ce2ea59d2c4f0a75dfc75a8a5241df1727601321.tar.gz bcm5719-llvm-ce2ea59d2c4f0a75dfc75a8a5241df1727601321.zip |
Fix rewriting of byref variables in nested blocks.
Fixes radar 7692350.
llvm-svn: 97254
Diffstat (limited to 'clang/test/Rewriter/rewrite-byref-in-nested-blocks.mm')
-rw-r--r-- | clang/test/Rewriter/rewrite-byref-in-nested-blocks.mm | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/clang/test/Rewriter/rewrite-byref-in-nested-blocks.mm b/clang/test/Rewriter/rewrite-byref-in-nested-blocks.mm new file mode 100644 index 00000000000..c6279de5e1d --- /dev/null +++ b/clang/test/Rewriter/rewrite-byref-in-nested-blocks.mm @@ -0,0 +1,23 @@ +// RUN: %clang_cc1 -x objective-c++ -Wno-return-type -fblocks -fms-extensions -rewrite-objc %s -o %t-rw.cpp +// RUN: %clang_cc1 -fsyntax-only -fblocks -Wno-address-of-temporary -D"SEL=void*" -D"__declspec(X)=" %t-rw.cpp +// radar 7692350 + +void f(void (^block)(void)); + +@interface X { + int y; +} +- (void)foo; +@end + +@implementation X +- (void)foo { + __block int kerfluffle; + f(^{ + f(^{ + y = 42; + kerfluffle = 1; + }); + }); +} +@end |