| // RUN: %clang_cc1 -x objective-c++ -fblocks -fms-extensions -rewrite-objc %s -o %t-rw.cpp | |
| // RUN: %clang_cc1 -fsyntax-only -Wno-address-of-temporary -D"__declspec(X)=" %t-rw.cpp | |
| typedef unsigned long size_t; | |
| typedef bool BOOL; | |
| BOOL yes() { | |
| return __objc_yes; | |
| } | |
| BOOL no() { | |
| return __objc_no; | |
| } | |
| BOOL which (int flag) { | |
| return flag ? yes() : no(); | |
| } | |
| int main() { | |
| which (__objc_yes); | |
| which (__objc_no); | |
| return __objc_yes; | |
| } | |
| void y(BOOL (^foo)()); | |
| void x() { | |
| y(^{ | |
| return __objc_yes; | |
| }); | |
| } |