diff options
| author | Richard Smith <richard-llvm@metafoo.co.uk> | 2011-10-18 21:39:00 +0000 |
|---|---|---|
| committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2011-10-18 21:39:00 +0000 |
| commit | c82397332d13a81c2198cb7eb3de00f27bf1ae18 (patch) | |
| tree | a766df5cc0cfa88be707101e04dafb595837d0c4 /clang/test/SemaCXX/cxx98-compat.cpp | |
| parent | c1939d3967d8f1efbdbdc560eba06496f4a6fb33 (diff) | |
| download | bcm5719-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.cpp | 14 |
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}} |

