summaryrefslogtreecommitdiffstats
path: root/clang/test/SemaCXX/cxx98-compat.cpp
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2011-10-18 21:39:00 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2011-10-18 21:39:00 +0000
commitc82397332d13a81c2198cb7eb3de00f27bf1ae18 (patch)
treea766df5cc0cfa88be707101e04dafb595837d0c4 /clang/test/SemaCXX/cxx98-compat.cpp
parentc1939d3967d8f1efbdbdc560eba06496f4a6fb33 (diff)
downloadbcm5719-llvm-c82397332d13a81c2198cb7eb3de00f27bf1ae18.tar.gz
bcm5719-llvm-c82397332d13a81c2198cb7eb3de00f27bf1ae18.zip
-Wc++98-compat and -Wc++98-compat-pedantic warnings for Sema, part 2.
llvm-svn: 142426
Diffstat (limited to 'clang/test/SemaCXX/cxx98-compat.cpp')
-rw-r--r--clang/test/SemaCXX/cxx98-compat.cpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/clang/test/SemaCXX/cxx98-compat.cpp b/clang/test/SemaCXX/cxx98-compat.cpp
index 123dd4f637f..84dc87ac3dc 100644
--- a/clang/test/SemaCXX/cxx98-compat.cpp
+++ b/clang/test/SemaCXX/cxx98-compat.cpp
@@ -40,8 +40,8 @@ void Lambda() {
int InitList() {
(void)new int {}; // expected-warning {{generalized initializer lists are incompatible with C++98}}
(void)int{}; // expected-warning {{generalized initializer lists are incompatible with C++98}}
- int x {}; // expected-warning {{generalized initializer lists are incompatible with C++98}}
- return {}; // expected-warning {{generalized initializer lists are incompatible with C++98}}
+ int x { 0 }; // expected-warning {{generalized initializer lists are incompatible with C++98}}
+ return { 0 }; // expected-warning {{generalized initializer lists are incompatible with C++98}}
}
int operator""_hello(const char *); // expected-warning {{literal operators are incompatible with C++98}}
@@ -160,3 +160,13 @@ void TrivialButNonPODThroughEllipsis() {
struct HasExplicitConversion {
explicit operator bool(); // expected-warning {{explicit conversion functions are incompatible with C++98}}
};
+
+struct Struct {};
+enum Enum { enum_val = 0 };
+struct BadFriends {
+ friend enum ::Enum; // expected-warning {{befriending enumeration type 'enum ::Enum' is incompatible with C++98}}
+ friend int; // expected-warning {{non-class friend type 'int' is incompatible with C++98}}
+ friend Struct; // expected-warning {{befriending 'Struct' without 'struct' keyword is incompatible with C++98}}
+};
+
+int n = {}; // expected-warning {{scalar initialized from empty initializer list is incompatible with C++98}}
OpenPOWER on IntegriCloud