summaryrefslogtreecommitdiffstats
path: root/clang/test/SemaCXX/enum.cpp
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2009-12-16 20:30:08 +0000
committerEli Friedman <eli.friedman@gmail.com>2009-12-16 20:30:08 +0000
commit6a8dc922b39962b12c1eb5dc558204a795185778 (patch)
tree45bb246765e1a08aa913e246ec09a792c09822db /clang/test/SemaCXX/enum.cpp
parent15cef0ed42bbf8d0a0ef9e1a3f0291c1f5da734a (diff)
downloadbcm5719-llvm-6a8dc922b39962b12c1eb5dc558204a795185778.tar.gz
bcm5719-llvm-6a8dc922b39962b12c1eb5dc558204a795185778.zip
Make sure C-specific enum warning doesn't trigger in C++.
llvm-svn: 91563
Diffstat (limited to 'clang/test/SemaCXX/enum.cpp')
-rw-r--r--clang/test/SemaCXX/enum.cpp22
1 files changed, 11 insertions, 11 deletions
diff --git a/clang/test/SemaCXX/enum.cpp b/clang/test/SemaCXX/enum.cpp
index f1bc2b2b604..0e4162e0d51 100644
--- a/clang/test/SemaCXX/enum.cpp
+++ b/clang/test/SemaCXX/enum.cpp
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -fsyntax-only -verify %s
+// RUN: %clang_cc1 -fsyntax-only -pedantic -std=c++98 -verify %s
enum E {
Val1,
@@ -42,26 +42,26 @@ namespace test1 {
template <class A> struct is_same<A,A> { static const int value = 1; };
enum enum0 { v0 };
- int test0[is_same<typeof(+v0), int>::value];
+ int test0[is_same<__typeof(+v0), int>::value];
enum enum1 { v1 = __INT_MAX__ };
- int test1[is_same<typeof(+v1), int>::value];
+ int test1[is_same<__typeof(+v1), int>::value];
enum enum2 { v2 = __INT_MAX__ * 2U };
- int test2[is_same<typeof(+v2), unsigned int>::value];
+ int test2[is_same<__typeof(+v2), unsigned int>::value];
// This kindof assumes that 'int' is smaller than 'long long'.
#if defined(__LP64__)
- enum enum3 { v3 = __LONG_LONG_MAX__ };
- int test3[is_same<typeof(+v3), long>::value];
+ enum enum3 { v3 = __LONG_MAX__ };
+ int test3[is_same<__typeof(+v3), long>::value];
- enum enum4 { v4 = __LONG_LONG_MAX__ * 2ULL };
- int test4[is_same<typeof(+v4), unsigned long>::value];
+ enum enum4 { v4 = __LONG_MAX__ * 2UL };
+ int test4[is_same<__typeof(+v4), unsigned long>::value];
#else
enum enum3 { v3 = __LONG_LONG_MAX__ };
- int test3[is_same<typeof(+v3), long long>::value];
+ int test3[is_same<__typeof(+v3), long long>::value]; // expected-warning {{'long long' is an extension}}
- enum enum4 { v4 = __LONG_LONG_MAX__ * 2ULL };
- int test4[is_same<typeof(+v4), unsigned long long>::value];
+ enum enum4 { v4 = __LONG_LONG_MAX__ * 2ULL }; // expected-warning {{'long long' is an extension}}
+ int test4[is_same<__typeof(+v4), unsigned long long>::value]; // expected-warning {{'long long' is an extension}}
#endif
}
OpenPOWER on IntegriCloud