1// RUN: %clang_cc1 -Werror=objc-signed-char-bool %s -fixit-recompile -fixit-to-temporary -E -o - | FileCheck %s 2 3typedef signed char BOOL; 4 5BOOL b; 6 7int main() { 8 BOOL b = 2; 9 // CHECK: BOOL b = 2 ? YES : NO; 10 11 b = b ? 2 : 1; 12 // CHECK: b = b ? 2 ? YES : NO : 1; 13 14 b = b ? 1 : 2; 15 // CHECK: b = b ? 1 : 2 ? YES : NO; 16 17 b = b ? 2 : 2; 18 // CHECK: b = b ? 2 ? YES : NO : 2 ? YES : NO; 19 20 b = 1 + 1; 21 // CHECK: b = (1 + 1) ? YES : NO; 22 23 b = 1 | 2; 24 // CHECK: b = (1 | 2) ? YES : NO; 25 26 b = 1 << 1; 27 // CHECK: b = (1 << 1) ? YES : NO; 28 29 int i; 30 31 b = i; 32 // CHECK: b = i ? YES : NO; 33 34 b = i * 2; 35 // CHECK: b = (i * 2) ? YES : NO; 36 37 b = 1 ? 2 : 3; 38 // CHECK: b = 1 ? 2 ? YES : NO : 3 ? YES : NO; 39} 40 41@interface BoolProp 42@property BOOL b; 43@end 44 45void f(BoolProp *bp) { 46 bp.b = 43; 47 // CHECK: bp.b = 43 ? YES : NO; 48 49 [bp setB:43]; 50 // CHECK: [bp setB:43 ? YES : NO]; 51 52 int i; 53 54 bp.b = i; 55 // CHECK: bp.b = i ? YES : NO; 56 57 bp.b = i + 1; 58 // CHECK: bp.b = (i + 1) ? YES : NO; 59} 60