[Reland][Runtimes] Merge 'compile_commands.json' files from runtimes build (#116303)
[llvm-project.git] / clang / test / Sema / objc-bool-constant-conversion-fixit.m
blob17741a9f5cf0c2eb750cb807ee103972c501f872
1 // RUN: %clang_cc1 -Werror=objc-signed-char-bool %s -fixit-recompile -fixit-to-temporary -E -o - | FileCheck %s
3 typedef signed char BOOL;
5 BOOL b;
7 int main(void) {
8   BOOL b = 2;
9   // CHECK: BOOL b = 2 ? YES : NO;
11   b = b ? 2 : 1;
12   // CHECK: b = b ? 2 ? YES : NO : 1;
14   b = b ? 1 : 2;
15   // CHECK: b = b ? 1 : 2 ? YES : NO;
17   b = b ? 2 : 2;
18   // CHECK: b = b ? 2 ? YES : NO : 2 ? YES : NO;
20   b = 1 + 1;
21   // CHECK: b = (1 + 1) ? YES : NO;
23   b = 1 | 2;
24   // CHECK: b = (1 | 2) ? YES : NO;
26   b = 1 << 1;
27   // CHECK: b = (1 << 1) ? YES : NO;
29   int i;
31   b = i;
32   // CHECK: b = i ? YES : NO;
34   b = i * 2;
35   // CHECK: b = (i * 2) ? YES : NO;
37   b = 1 ? 2 : 3;
38   // CHECK: b = 1 ? 2 ? YES : NO : 3 ? YES : NO;
41 @interface BoolProp
42 @property BOOL b;
43 @end
45 void f(BoolProp *bp) {
46   bp.b = 43;
47   // CHECK: bp.b = 43 ? YES : NO;
49   [bp setB:43];
50   // CHECK: [bp setB:43 ? YES : NO];
52   int i;
54   bp.b = i;
55   // CHECK: bp.b = i ? YES : NO;
57   bp.b = i + 1;
58   // CHECK: bp.b = (i + 1) ? YES : NO;