blob: 8e5a21213200d0c97bec651f50aa763453c13ff7 [file] [log] [blame]
Filipe Cabecinhas090a2372014-10-18 23:47:591// RUN: %clang %target_itanium_abi_host_triple -O0 -g %s -c -o %t.o
2// RUN: %clang %target_itanium_abi_host_triple %t.o -o %t.out -framework Foundation
Devang Patel4a14cd9c2011-04-28 02:23:173// RUN: %test_debuginfo %s %t.out
Argyrios Kyrtzidis8f688172012-10-20 01:38:504
5// REQUIRES: system-darwin
Devang Patel4a14cd9c2011-04-28 02:23:176// Radar 9279956
Renato Golin161505f2011-05-28 14:03:167
Eli Friedman8f630d92011-05-29 03:51:558// DEBUGGER: break 31
Devang Patel4a14cd9c2011-04-28 02:23:179// DEBUGGER: r
10// DEBUGGER: p m2
Adrian Prantl5cd2f3e2014-02-20 19:51:0711// CHECK: ${{[0-9]}} = 1
Devang Patel4a14cd9c2011-04-28 02:23:1712// DEBUGGER: p dbTransaction
Adrian Prantl5cd2f3e2014-02-20 19:51:0713// CHECK: ${{[0-9]}} = 0
Devang Patel4a14cd9c2011-04-28 02:23:1714// DEBUGGER: p master
Adrian Prantl5cd2f3e2014-02-20 19:51:0715// CHECK: ${{[0-9]}} = 0
Devang Patel4a14cd9c2011-04-28 02:23:1716
17#include <Cocoa/Cocoa.h>
18
19extern void foo(void(^)(void));
20
21@interface A:NSObject @end
22@implementation A
23- (void) helper {
24 int master = 0;
25 __block int m2 = 0;
26 __block int dbTransaction = 0;
27 int (^x)(void) = ^(void) { (void) self;
28 (void) master;
29 (void) dbTransaction;
30 m2++;
31 return m2;
32 };
33 master = x();
34}
35@end
36
37void foo(void(^x)(void)) {}
38
39int main() {
40 A *a = [A alloc];
41 [a helper];
42 return 0;
43}