objc-bool-literal-modern-1.mm
560 Bytes
// 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;
});
}