diff options
Diffstat (limited to 'test/SemaCXX/suppress.cpp')
-rw-r--r-- | test/SemaCXX/suppress.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/test/SemaCXX/suppress.cpp b/test/SemaCXX/suppress.cpp new file mode 100644 index 000000000000..d88ae0bbca00 --- /dev/null +++ b/test/SemaCXX/suppress.cpp @@ -0,0 +1,25 @@ +// RUN: %clang_cc1 -std=c++11 -fsyntax-only %s -verify + +[[gsl::suppress("globally")]]; + +namespace N { + [[gsl::suppress("in-a-namespace")]]; +} + +[[gsl::suppress("readability-identifier-naming")]] +void f_() { + int *p; + [[gsl::suppress("type", "bounds")]] { + p = reinterpret_cast<int *>(7); + } + + [[gsl::suppress]] int x; // expected-error {{'suppress' attribute takes at least 1 argument}} + [[gsl::suppress()]] int y; // expected-error {{'suppress' attribute takes at least 1 argument}} + int [[gsl::suppress("r")]] z; // expected-error {{'suppress' attribute cannot be applied to types}} + [[gsl::suppress(f_)]] float f; // expected-error {{'suppress' attribute requires a string}} +} + +union [[gsl::suppress("type.1")]] U { + int i; + float f; +}; |