diff options
author | Aaron Ballman <aaron@aaronballman.com> | 2014-04-14 16:03:22 +0000 |
---|---|---|
committer | Aaron Ballman <aaron@aaronballman.com> | 2014-04-14 16:03:22 +0000 |
commit | 35f9421c55aca8b5805e40e006c203246e7f873f (patch) | |
tree | 2baf0f134b1378c880e62911a1d1d6d63d0ead9b /clang/test | |
parent | 1d3ae27f011d9216b058e82f21f4e4e7e4c0df84 (diff) | |
download | bcm5719-llvm-35f9421c55aca8b5805e40e006c203246e7f873f.tar.gz bcm5719-llvm-35f9421c55aca8b5805e40e006c203246e7f873f.zip |
Properly diagnose standard C++ attributes which have optional argument lists when the arguments are elided. eg)
[[deprecated()]] // error
[[deprecated]] // OK
[[deprecated("")]] // OK
[[gnu::deprecated()]] // OK
llvm-svn: 206186
Diffstat (limited to 'clang/test')
-rw-r--r-- | clang/test/Parser/attributes.c | 3 | ||||
-rw-r--r-- | clang/test/Parser/cxx0x-attributes.cpp | 7 |
2 files changed, 8 insertions, 2 deletions
diff --git a/clang/test/Parser/attributes.c b/clang/test/Parser/attributes.c index 8d7e5fe503a..3d69c72c322 100644 --- a/clang/test/Parser/attributes.c +++ b/clang/test/Parser/attributes.c @@ -94,5 +94,4 @@ void testFundef5() __attribute__(()) { } __attribute__((pure)) int testFundef6(int a) { return a; } - - +void deprecatedTestFun(void) __attribute__((deprecated())); diff --git a/clang/test/Parser/cxx0x-attributes.cpp b/clang/test/Parser/cxx0x-attributes.cpp index 1b9e477004a..777a40a4e8a 100644 --- a/clang/test/Parser/cxx0x-attributes.cpp +++ b/clang/test/Parser/cxx0x-attributes.cpp @@ -322,3 +322,10 @@ namespace GccASan { [[gnu::no_address_safety_analysis]] void f3(); [[gnu::no_sanitize_address]] void f4(); } + +namespace { + [[deprecated]] void bar(); + [[deprecated("hello")]] void baz(); + [[deprecated()]] void foo(); // expected-error {{attribute 'deprecated' requires a nonempty argument list}} + [[gnu::deprecated()]] void quux(); +} |