// RUN: %clang_cc1 -Werror=objc-signed-char-bool %s -fixit-recompile -fixit-to-temporary -E -o - | FileCheck %s typedef signed char BOOL; BOOL b; int main(void) { BOOL b = 2; // CHECK: BOOL b = 2 ? YES : NO; b = b ? 2 : 1; // CHECK: b = b ? 2 ? YES : NO : 1; b = b ? 1 : 2; // CHECK: b = b ? 1 : 2 ? YES : NO; b = b ? 2 : 2; // CHECK: b = b ? 2 ? YES : NO : 2 ? YES : NO; b = 1 + 1; // CHECK: b = (1 + 1) ? YES : NO; b = 1 | 2; // CHECK: b = (1 | 2) ? YES : NO; b = 1 << 1; // CHECK: b = (1 << 1) ? YES : NO; int i; b = i; // CHECK: b = i ? YES : NO; b = i * 2; // CHECK: b = (i * 2) ? YES : NO; b = 1 ? 2 : 3; // CHECK: b = 1 ? 2 ? YES : NO : 3 ? YES : NO; } @interface BoolProp @property BOOL b; @end void f(BoolProp *bp) { bp.b = 43; // CHECK: bp.b = 43 ? YES : NO; [bp setB:43]; // CHECK: [bp setB:43 ? YES : NO]; int i; bp.b = i; // CHECK: bp.b = i ? YES : NO; bp.b = i + 1; // CHECK: bp.b = (i + 1) ? YES : NO; }