http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51930
Manuel López-Ibáñez <manu at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |manu at gcc dot gnu.org --- Comment #19 from Manuel López-Ibáñez <manu at gcc dot gnu.org> 2012-03-01 20:47:58 UTC --- (In reply to comment #18) > Author: jason > Date: Thu Mar 1 17:52:12 2012 > New Revision: 184753 No new testcase? + input_location = location_of (declared_type); + warning (0, "attribute ignored in declaration of %q#T", declared_type); + warning (0, "attribute for %q#T must follow the %qs keyword", + declared_type, class_key_or_enum_as_string (declared_type)); + input_location = loc; Wouldn't it be simple and clearer to use warning_at(location) ? And the second warning should be inform. And given: - if (decl_specifiers.attributes) - warning (OPT_Wattributes, - "attributes ignored on explicit type instantiation"); It is clear that the behavior is not equivalent. The warning before was conditional on -Wattributes, but now it is unconditional. Was this intentional?