diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2017-11-01 23:38:37 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2017-11-01 23:38:37 +0000 |
commit | 7366f8e06093256082548af7d4e7d3baf7bfeb83 (patch) | |
tree | 2003a8e758230e7201734c2537f7aa137a264839 /test/SemaCXX | |
parent | c3c8524640ffce0427d81f78501f32c3c8a07427 (diff) |
Fix missing -Wregister warning when 'register' is applied to a function parameter.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@317140 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/SemaCXX')
-rw-r--r-- | test/SemaCXX/deprecated.cpp | 7 | ||||
-rw-r--r-- | test/SemaCXX/varargs.cpp | 2 |
2 files changed, 7 insertions, 2 deletions
diff --git a/test/SemaCXX/deprecated.cpp b/test/SemaCXX/deprecated.cpp index a838cda7c4..773085bf2b 100644 --- a/test/SemaCXX/deprecated.cpp +++ b/test/SemaCXX/deprecated.cpp @@ -20,7 +20,12 @@ void i() throw(...); // expected-warning@-8 {{dynamic exception specifications are deprecated}} expected-note@-8 {{use 'noexcept(false)' instead}} #endif -void stuff() { +void stuff(register int q) { +#if __cplusplus > 201402L + // expected-error@-2 {{ISO C++17 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 n; #if __cplusplus > 201402L // expected-error@-2 {{ISO C++17 does not allow 'register' storage class specifier}} diff --git a/test/SemaCXX/varargs.cpp b/test/SemaCXX/varargs.cpp index f9027c2479..f2f53dc200 100644 --- a/test/SemaCXX/varargs.cpp +++ b/test/SemaCXX/varargs.cpp @@ -8,7 +8,7 @@ void f(const string& s, ...) { // expected-note {{parameter of type 'const stri __builtin_va_start(ap, s); // expected-warning {{passing an object of reference type to 'va_start' has undefined behavior}} } -void g(register int i, ...) { +void g(register int i, ...) { // expected-warning 0-1{{deprecated}} __builtin_va_start(ap, i); // UB in C, OK in C++ } |