diff options
author | Devang Patel <dpatel@apple.com> | 2011-04-28 02:23:17 +0000 |
---|---|---|
committer | Devang Patel <dpatel@apple.com> | 2011-04-28 02:23:17 +0000 |
commit | 4a14cd9cf9eaae3a75017ff0ec7144bcb25b595e (patch) | |
tree | 020fd9b4c7c8048554a574bc648779d300281b43 /debuginfo-tests/blocks.m | |
parent | 3e021533cd5f6e92cb1849d0f7fa4b48d2659fd8 (diff) | |
download | bcm5719-llvm-4a14cd9cf9eaae3a75017ff0ec7144bcb25b595e.tar.gz bcm5719-llvm-4a14cd9cf9eaae3a75017ff0ec7144bcb25b595e.zip |
Test case for r130373.
llvm-svn: 130374
Diffstat (limited to 'debuginfo-tests/blocks.m')
-rw-r--r-- | debuginfo-tests/blocks.m | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/debuginfo-tests/blocks.m b/debuginfo-tests/blocks.m new file mode 100644 index 00000000000..da505b1ed5d --- /dev/null +++ b/debuginfo-tests/blocks.m @@ -0,0 +1,40 @@ +// RUN: %clang -O0 -g %s -c -o %t.o +// RUN: %clang %t.o -o %t.out -framework Foundation +// RUN: %test_debuginfo %s %t.out +// Radar 9279956 +// DEBUGGER: break 28 +// DEBUGGER: r +// DEBUGGER: p m2 +// DEBUGGER: p dbTransaction +// DEBUGGER: p master +// CHECK: $1 = 1 +// CHECK: $2 = 0 +// CHECK: $3 = 0 + +#include <Cocoa/Cocoa.h> + +extern void foo(void(^)(void)); + +@interface A:NSObject @end +@implementation A +- (void) helper { + int master = 0; + __block int m2 = 0; + __block int dbTransaction = 0; + int (^x)(void) = ^(void) { (void) self; + (void) master; + (void) dbTransaction; + m2++; + return m2; + }; + master = x(); +} +@end + +void foo(void(^x)(void)) {} + +int main() { + A *a = [A alloc]; + [a helper]; + return 0; +} |