diff options
Diffstat (limited to 'test/CXX/dcl.dcl')
-rw-r--r-- | test/CXX/dcl.dcl/dcl.attr/dcl.align/p8.cpp | 2 | ||||
-rw-r--r-- | test/CXX/dcl.dcl/dcl.attr/dcl.attr.unused/p3.cpp | 18 | ||||
-rw-r--r-- | test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p4.cpp | 4 |
3 files changed, 19 insertions, 5 deletions
diff --git a/test/CXX/dcl.dcl/dcl.attr/dcl.align/p8.cpp b/test/CXX/dcl.dcl/dcl.attr/dcl.align/p8.cpp index 686aac2802..e435bee2c8 100644 --- a/test/CXX/dcl.dcl/dcl.attr/dcl.align/p8.cpp +++ b/test/CXX/dcl.dcl/dcl.attr/dcl.align/p8.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -std=c++11 -verify %s +// RUN: %clang_cc1 -std=c++11 -verify %s -triple x86_64-linux-gnu alignas(double) void f(); // expected-error {{'alignas' attribute only applies to variables, data members and tag types}} alignas(double) unsigned char c[sizeof(double)]; // expected-note {{previous}} diff --git a/test/CXX/dcl.dcl/dcl.attr/dcl.attr.unused/p3.cpp b/test/CXX/dcl.dcl/dcl.attr/dcl.attr.unused/p3.cpp index 551df38a81..5f715a1ec2 100644 --- a/test/CXX/dcl.dcl/dcl.attr/dcl.attr.unused/p3.cpp +++ b/test/CXX/dcl.dcl/dcl.attr/dcl.attr.unused/p3.cpp @@ -5,9 +5,17 @@ static_assert(__has_cpp_attribute(maybe_unused) == 201603, ""); struct [[maybe_unused]] S {}; +enum E1 { + EnumVal [[maybe_unused]], + UsedEnumVal, +}; + void f() { int x; // expected-warning {{unused variable}} typedef int I; // expected-warning {{unused typedef 'I'}} + E1 e; + switch (e) { // expected-warning {{enumeration value 'UsedEnumVal' not handled in switch}} + } // Should not warn about these due to not being used. [[maybe_unused]] int y; @@ -17,10 +25,16 @@ void f() { S s; maybe_unused_int test; y = 12; + switch (e) { + case UsedEnumVal: + break; + } } #ifdef EXT // expected-warning@6 {{use of the 'maybe_unused' attribute is a C++17 extension}} -// expected-warning@13 {{use of the 'maybe_unused' attribute is a C++17 extension}} -// expected-warning@14 {{use of the 'maybe_unused' attribute is a C++17 extension}} +// expected-warning@9 {{use of the 'maybe_unused' attribute is a C++17 extension}} +// expected-warning@9 {{attributes on an enumerator declaration are a C++17 extension}} +// expected-warning@21 {{use of the 'maybe_unused' attribute is a C++17 extension}} +// expected-warning@22 {{use of the 'maybe_unused' attribute is a C++17 extension}} #endif diff --git a/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p4.cpp b/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p4.cpp index 54aabe6ef3..e24e63178e 100644 --- a/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p4.cpp +++ b/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p4.cpp @@ -181,8 +181,8 @@ union Empty { } constexpr empty1; struct EmptyVariant { - union {}; - struct {}; + union {}; // expected-warning {{does not declare anything}} + struct {}; // expected-warning {{does not declare anything}} constexpr EmptyVariant() {} // ok } constexpr empty2; |