blob: 1583945b2c91b75482240045c3fa23b380876279 [file] [log] [blame]
Fariborz Jahanian42d05f22012-02-04 19:06:06 +00001// RUN: %clang_cc1 -x objective-c++ -Wno-return-type -fblocks -fms-extensions -rewrite-objc -fobjc-fragile-abi %s -o %t-rw.cpp
NAKAMURA Takumi9a660022012-05-01 10:52:06 +00002// RUN: %clang_cc1 -fsyntax-only -fblocks -Wno-address-of-temporary -D"SEL=void*" -U__declspec -D"__declspec(X)=" %t-rw.cpp
Fariborz Jahaniancc172282012-04-16 22:14:01 +00003// RUN: %clang_cc1 -x objective-c++ -Wno-return-type -fblocks -fms-extensions -rewrite-objc %s -o %t-modern-rw.cpp
NAKAMURA Takumi9a660022012-05-01 10:52:06 +00004// RUN: %clang_cc1 -fsyntax-only -Werror -Wno-address-of-temporary -D"SEL=void*" -U__declspec -D"__declspec(X)=" %t-modern-rw.cpp
Fariborz Jahaniance2ea592010-02-26 19:55:31 +00005// radar 7692350
6
7void f(void (^block)(void));
8
9@interface X {
10 int y;
11}
12- (void)foo;
13@end
14
15@implementation X
16- (void)foo {
17 __block int kerfluffle;
Fariborz Jahanian6005bd82010-02-26 22:49:11 +000018 // radar 7692183
19 __block x;
Fariborz Jahaniance2ea592010-02-26 19:55:31 +000020 f(^{
21 f(^{
22 y = 42;
23 kerfluffle = 1;
Fariborz Jahanian6005bd82010-02-26 22:49:11 +000024 x = 2;
Fariborz Jahaniance2ea592010-02-26 19:55:31 +000025 });
26 });
27}
28@end