1*67e74705SXin Li// RUN: %clang_cc1 -E %s -o %t.mm 2*67e74705SXin Li// RUN: %clang_cc1 -x objective-c++ -fblocks -fms-extensions -rewrite-objc %t.mm -o - | FileCheck %s 3*67e74705SXin Li// rdar://11124775 4*67e74705SXin Li 5*67e74705SXin Litypedef bool BOOL; 6*67e74705SXin Li 7*67e74705SXin LiBOOL yes() { 8*67e74705SXin Li return __objc_yes; 9*67e74705SXin Li} 10*67e74705SXin Li 11*67e74705SXin LiBOOL no() { 12*67e74705SXin Li return __objc_no; 13*67e74705SXin Li} 14*67e74705SXin Li 15*67e74705SXin LiBOOL which (int flag) { 16*67e74705SXin Li return flag ? yes() : no(); 17*67e74705SXin Li} 18*67e74705SXin Li 19*67e74705SXin Liint main() { 20*67e74705SXin Li which (__objc_yes); 21*67e74705SXin Li which (__objc_no); 22*67e74705SXin Li return __objc_yes; 23*67e74705SXin Li} 24*67e74705SXin Li 25*67e74705SXin Li// CHECK: return ((bool)1); 26*67e74705SXin Li// CHECK: return ((bool)0); 27*67e74705SXin Li// CHECK: which (((bool)1)); 28*67e74705SXin Li// CHECK: which (((bool)0)); 29*67e74705SXin Li// CHECK: return ((bool)1); 30