diff options
Diffstat (limited to 'test/SemaCXX/deprecated.cpp')
-rw-r--r-- | test/SemaCXX/deprecated.cpp | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/test/SemaCXX/deprecated.cpp b/test/SemaCXX/deprecated.cpp index 5fcf213..4ce0589 100644 --- a/test/SemaCXX/deprecated.cpp +++ b/test/SemaCXX/deprecated.cpp @@ -1,6 +1,7 @@ // RUN: %clang_cc1 -std=c++98 %s -Wdeprecated -verify -triple x86_64-linux-gnu // RUN: %clang_cc1 -std=c++11 %s -Wdeprecated -verify -triple x86_64-linux-gnu // RUN: %clang_cc1 -std=c++1y %s -Wdeprecated -verify -triple x86_64-linux-gnu +// RUN: %clang_cc1 -std=c++1z %s -Wdeprecated -verify -triple x86_64-linux-gnu // RUN: %clang_cc1 -std=c++1y %s -Wdeprecated -verify -triple x86_64-linux-gnu -Wno-deprecated-register -DNO_DEPRECATED_FLAGS @@ -17,15 +18,29 @@ void h() throw(...); void stuff() { register int n; -#if __cplusplus >= 201103L && !defined(NO_DEPRECATED_FLAGS) - // expected-warning@-2 {{'register' storage class specifier is deprecated}} +#if __cplusplus > 201402L + // expected-error@-2 {{ISO C++1z does not allow 'register' storage class specifier}} +#elif __cplusplus >= 201103L && !defined(NO_DEPRECATED_FLAGS) + // expected-warning@-4 {{'register' storage class specifier is deprecated}} #endif register int m asm("rbx"); // no-warning int k = to_int(n); // no-warning bool b; - ++b; // expected-warning {{incrementing expression of type bool is deprecated}} + ++b; +#if __cplusplus > 201402L + // expected-error@-2 {{ISO C++1z does not allow incrementing expression of type bool}} +#else + // expected-warning@-4 {{incrementing expression of type bool is deprecated}} +#endif + + b++; +#if __cplusplus > 201402L + // expected-error@-2 {{ISO C++1z does not allow incrementing expression of type bool}} +#else + // expected-warning@-4 {{incrementing expression of type bool is deprecated}} +#endif char *p = "foo"; #if __cplusplus < 201103L |