Merge with main truk.
[official-gcc.git] / gcc / testsuite / g++.dg / cpp0x / gen-attrs-53.C
blob723c8ef8ec06868df7d70d65a4196c564d68222b
1 // { dg-do compile { target c++11 } }
3 int
4 toto ()
6   [[gnu::unused]] good:
7     return 0;
10 int
11 foo ()
13   [[gnu::unused]] good:
14     int i = 0;
16   // A C++11 attribute at the beginning of the return statement is
17   // syntactically correct, appertains to the return statement (not to
18   // the label) but is currently ignored by this implementation.
19  good_ignored : [[gnu::unused]] // { dg-warning "attributes at the beginning of statement are ignored" }
20     return i;
23 int
24 bar ()
26   // A GNU attribute after the label appertains to the label.
27  good: __attribute__((unused));
28   return 0;
31 int
32 baz ()
34   // The c++ attribute after the label appertains to the (empty)
35   // statement.
36  bad: [[gnu::unused]]; // { dg-warning "attributes at the beginning of statement are ignored" }
37   return 0;