diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2017-12-18 20:11:37 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2017-12-18 20:11:37 +0000 |
commit | 461a67fa15370a9ec88f8f8a240bf7c123bb2029 (patch) | |
tree | 6942083d7d56bba40ec790a453ca58ad3baf6832 /test/Sema/c2x-maybe_unused.c | |
parent | 75c3240472ba6ac2669ee72ca67eb72d4e2851fc (diff) | |
download | src-test2-vendor/clang/clang-trunk-r321017.tar.gz src-test2-vendor/clang/clang-trunk-r321017.zip |
Diffstat (limited to 'test/Sema/c2x-maybe_unused.c')
-rw-r--r-- | test/Sema/c2x-maybe_unused.c | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/test/Sema/c2x-maybe_unused.c b/test/Sema/c2x-maybe_unused.c new file mode 100644 index 000000000000..816cf7835fa9 --- /dev/null +++ b/test/Sema/c2x-maybe_unused.c @@ -0,0 +1,35 @@ +// RUN: %clang_cc1 -fsyntax-only -Wunused -fdouble-square-bracket-attributes -verify %s + +struct [[maybe_unused]] S1 { // ok + int a [[maybe_unused]]; +}; + +enum [[maybe_unused]] E1 { + EnumVal [[maybe_unused]] +}; + +[[maybe_unused]] void unused_func([[maybe_unused]] int parm) { + typedef int maybe_unused_int [[maybe_unused]]; + [[maybe_unused]] int I; +} + +void f1(void) { + int x; // expected-warning {{unused variable}} + typedef int I; // expected-warning {{unused typedef 'I'}} + + // Should not warn about these due to not being used. + [[maybe_unused]] int y; + typedef int maybe_unused_int [[maybe_unused]]; + + // Should not warn about these uses. + struct S1 s; + maybe_unused_int test; + y = 12; +} + +void f2(void); +[[maybe_unused]] void f2(void); + +void f2(void) { +} + |