summaryrefslogtreecommitdiff
path: root/clang/test/Preprocessor/expr_usual_conversions.c
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test/Preprocessor/expr_usual_conversions.c')
-rw-r--r--clang/test/Preprocessor/expr_usual_conversions.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/clang/test/Preprocessor/expr_usual_conversions.c b/clang/test/Preprocessor/expr_usual_conversions.c
new file mode 100644
index 0000000..5ca2cb8
--- /dev/null
+++ b/clang/test/Preprocessor/expr_usual_conversions.c
@@ -0,0 +1,14 @@
+// RUN: %clang_cc1 %s -E -verify
+
+#define INTMAX_MIN (-9223372036854775807LL -1)
+
+#if (-42 + 0U) /* expected-warning {{left side of operator converted from negative value to unsigned: -42 to 18446744073709551574}} */ \
+ / -2 /* expected-warning {{right side of operator converted from negative value to unsigned: -2 to 18446744073709551614}} */
+foo
+#endif
+
+// Shifts don't want the usual conversions: PR2279
+#if (2 << 1U) - 30 >= 0
+#error
+#endif
+