blob: 723c8ef8ec06868df7d70d65a4196c564d68222b [file] [log] [blame]
// { 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;
}