summaryrefslogtreecommitdiff
path: root/clang/test/Preprocessor/if_warning.c
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test/Preprocessor/if_warning.c')
-rw-r--r--clang/test/Preprocessor/if_warning.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/clang/test/Preprocessor/if_warning.c b/clang/test/Preprocessor/if_warning.c
new file mode 100644
index 0000000..641ec3b
--- /dev/null
+++ b/clang/test/Preprocessor/if_warning.c
@@ -0,0 +1,31 @@
+// RUN: %clang_cc1 %s -Eonly -Werror=undef -verify
+// RUN: %clang_cc1 %s -Eonly -Werror-undef -verify
+
+extern int x;
+
+#if foo // expected-error {{'foo' is not defined, evaluates to 0}}
+#endif
+
+#ifdef foo
+#endif
+
+#if defined(foo)
+#endif
+
+
+// PR3938
+#if 0
+#ifdef D
+#else 1 // Should not warn due to C99 6.10p4
+#endif
+#endif
+
+// rdar://9475098
+#if 0
+#else 1 // expected-warning {{extra tokens}}
+#endif
+
+// PR6852
+#if 'somesillylongthing' // expected-warning {{character constant too long for its type}} \
+ // expected-warning {{multi-character character constant}}
+#endif