1 | // RUN: %clang_cc1 -x objective-c++ -fblocks -fms-extensions -rewrite-objc %s -o %t-rw.cpp |
2 | // RUN: %clang_cc1 -fsyntax-only -Wno-address-of-temporary -D"__declspec(X)=" %t-rw.cpp |
3 | // rdar://11231426 |
4 | |
5 | // rdar://11375908 |
6 | typedef unsigned long size_t; |
7 | |
8 | typedef bool BOOL; |
9 | |
10 | BOOL yes() { |
11 | return __objc_yes; |
12 | } |
13 | |
14 | BOOL no() { |
15 | return __objc_no; |
16 | } |
17 | |
18 | BOOL which (int flag) { |
19 | return flag ? yes() : no(); |
20 | } |
21 | |
22 | int main() { |
23 | which (__objc_yes); |
24 | which (__objc_no); |
25 | return __objc_yes; |
26 | } |
27 | |
28 | void y(BOOL (^foo)()); |
29 | |
30 | void x() { |
31 | y(^{ |
32 | return __objc_yes; |
33 | }); |
34 | } |
35 | |