diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/cpp0x/gen-attrs-53.C')
-rw-r--r-- | gcc/testsuite/g++.dg/cpp0x/gen-attrs-53.C | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/cpp0x/gen-attrs-53.C b/gcc/testsuite/g++.dg/cpp0x/gen-attrs-53.C new file mode 100644 index 00000000000..723c8ef8ec0 --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp0x/gen-attrs-53.C @@ -0,0 +1,39 @@ +// { dg-do compile { target c++11 } } + +int +toto () +{ + [[gnu::unused]] good: + return 0; +} + +int +foo () +{ + [[gnu::unused]] good: + int i = 0; + + // A C++11 attribute at the beginning of the return statement is + // syntactically correct, appertains to the return statement (not to + // the label) but is currently ignored by this implementation. + good_ignored : [[gnu::unused]] // { dg-warning "attributes at the beginning of statement are ignored" } + return i; +} + +int +bar () +{ + // A GNU attribute after the label appertains to the label. + good: __attribute__((unused)); + return 0; +} + +int +baz () +{ + // The c++ attribute after the label appertains to the (empty) + // statement. + bad: [[gnu::unused]]; // { dg-warning "attributes at the beginning of statement are ignored" } + return 0; +} + |