summaryrefslogtreecommitdiffstats
path: root/clang/test/Sema/objc-bool-constant-conversion-fixit.m
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test/Sema/objc-bool-constant-conversion-fixit.m')
-rw-r--r--clang/test/Sema/objc-bool-constant-conversion-fixit.m40
1 files changed, 40 insertions, 0 deletions
diff --git a/clang/test/Sema/objc-bool-constant-conversion-fixit.m b/clang/test/Sema/objc-bool-constant-conversion-fixit.m
new file mode 100644
index 00000000000..57f575222ee
--- /dev/null
+++ b/clang/test/Sema/objc-bool-constant-conversion-fixit.m
@@ -0,0 +1,40 @@
+// RUN: %clang_cc1 -Werror=constant-conversion %s -fixit-recompile -fixit-to-temporary -E -o - | FileCheck %s
+
+typedef signed char BOOL;
+
+BOOL b;
+
+int main() {
+ 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;
+}
+
+@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];
+}
OpenPOWER on IntegriCloud