| // 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 | 
 | // rdar://11231426 | 
 |  | 
 | // rdar://11375908 | 
 | 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; | 
 |     }); | 
 | } |