// { 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; }