summaryrefslogtreecommitdiff
path: root/test/Lexer/long-long.cpp
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2012-12-02 13:20:44 +0000
committerDimitry Andric <dim@FreeBSD.org>2012-12-02 13:20:44 +0000
commit13cc256e404620c1de0cbcc4e43ce1e2dbbc4898 (patch)
tree2732d02d7d51218d6eed98ac7fcfc5b8794896b5 /test/Lexer/long-long.cpp
parent657bc3d9848e3be92029b2416031340988cd0111 (diff)
Notes
Diffstat (limited to 'test/Lexer/long-long.cpp')
-rw-r--r--test/Lexer/long-long.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/test/Lexer/long-long.cpp b/test/Lexer/long-long.cpp
new file mode 100644
index 000000000000..1a0f37b7ff40
--- /dev/null
+++ b/test/Lexer/long-long.cpp
@@ -0,0 +1,24 @@
+/* RUN: %clang_cc1 -x c -std=c89 -fsyntax-only -verify -pedantic-errors -Wno-empty-translation-unit %s
+ * RUN: %clang_cc1 -x c -std=c99 -fsyntax-only -verify -pedantic-errors -Wno-empty-translation-unit %s
+ * RUN: %clang_cc1 -x c++ -std=c++98 -fsyntax-only -verify -pedantic-errors -Wno-empty-translation-unit %s
+ * RUN: %clang_cc1 -x c++ -std=c++11 -fsyntax-only -verify -Wc++98-compat-pedantic -Wno-empty-translation-unit %s
+ */
+
+#if !defined(__cplusplus)
+# if __STDC_VERSION__ < 199901L
+/* expected-error@21 {{'long long' is an extension when C99 mode is not enabled}} */
+# else
+/* expected-no-diagnostics */
+# endif
+#else
+# if __cplusplus < 201103L
+/* expected-error@21 {{'long long' is a C++11 extension}} */
+# else
+/* expected-warning@21 {{'long long' is incompatible with C++98}} */
+# endif
+#endif
+
+#if 1 > 2LL
+# error should not happen
+#endif
+