class __attribute__((unused)) C; struct __attribute__((unused)) S; union __attribute__((unused)) U; enum e {}; enum __attribute__((unused)) e; // { dg-warning "already defined" } struct __attribute((unused)) B *p; // { dg-warning "attributes" } template struct A { }; struct __attribute((unused)) A; // { dg-warning "attributes" }