As g++ now may, or may not, produce an indirect error on mismatched attributes between a forward declaration and later definition, and that is incredibly confusing to the end-user (aka me), i hereby humbly ask for a warning in such condition; a hint at the problematic declaration would be a plus.
But, really, anything but that cryptic mismatched prototype error one may get when *using* such ill-formed type would be great. Executive summary for PR 45642 class foo; class bar { void foobar(foo &); }; class __attribute((aligned(16))) foo {}; // if unlucky, an error about void bar::foobar(foo &) // not matching void bar::foobar(foo &) // when the culprit is foo's attributes. void bar::foobar(foo &) {} -- Summary: Request warning for mismatched declaration/definition attributes (instead of chances for an indirect error) Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: enhancement Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: tbptbp at gmail dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45668