[Bug c++/51930] [4.7 regression] Explicitly instantiated template gets hidden visibility

manu at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Mar 1 20:49:00 GMT 2012


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?



More information about the Gcc-bugs mailing list