1 | // RUN: %clang_cc1 -x objective-c++ -Wno-return-type -fblocks -fms-extensions -rewrite-objc -fobjc-runtime=macosx-fragile-10.5 %s -o %t-rw.cpp |
2 | // RUN: %clang_cc1 -fsyntax-only -Wno-address-of-temporary -D"SEL=void*" -D"__declspec(X)=" %t-rw.cpp |
3 | // radar 7735987 |
4 | |
5 | extern "C" int printf(const char*, ...); |
6 | |
7 | void bar(void (^block)()) { |
8 | block(); |
9 | } |
10 | |
11 | int main() { |
12 | static int myArr[3] = {1, 2, 3}; |
13 | printf ("%d %d %d\n", myArr[0], myArr[1], myArr[2]); |
14 | |
15 | bar(^{ |
16 | printf ("%d %d %d\n", myArr[0], myArr[1], myArr[2]); |
17 | myArr[0] = 42; |
18 | myArr[2] = 100; |
19 | printf ("%d %d %d\n", myArr[0], myArr[1], myArr[2]); |
20 | }); |
21 | |
22 | printf ("%d %d %d\n", myArr[0], myArr[1], myArr[2]); |
23 | } |
24 | |