------- Comment #10 from dwmw2 at infradead dot org  2006-08-18 11:11 -------
I've hacked around this for now by reverting the patch for PR25795 and doing
this instead:

--- gcc/c-decl.c~       2006-01-19 23:48:07.000000000 +0000
+++ gcc/c-decl.c        2006-08-15 21:43:43.000000000 +0100
@@ -1660,6 +1660,25 @@ merge_decls (tree newdecl, tree olddecl,
   if (TREE_DEPRECATED (newdecl))
     TREE_DEPRECATED (olddecl) = 1;

+  if (TREE_CODE (newdecl) == FUNCTION_DECL)
+    {
+      struct cgraph_node *n = cgraph_node (newdecl);
+      if (n->local.externally_visible)
+       {
+          struct cgraph_node *o = cgraph_node (olddecl);
+          o->local.externally_visible = true;
+       }
+    }
+  else if (TREE_CODE (newdecl) == VAR_DECL)
+    {
+      struct cgraph_varpool_node *n = cgraph_varpool_node (newdecl);
+      if (n->externally_visible)
+       {
+         struct cgraph_varpool_node *o = cgraph_varpool_node (olddecl);
+         o->externally_visible = true;
+       }
+    }
+
   /* Keep source location of definition rather than declaration and of
      prototype rather than non-prototype unless that prototype is
      built-in.  */
--- gcc/c-common.c~     2006-08-18 10:35:10.000000000 +0100
+++ gcc/c-common.c      2006-08-18 10:52:18.000000000 +0100
@@ -4243,7 +4243,7 @@ handle_externally_visible_attribute (tre
 {
   tree node = *pnode;

-  if ((!TREE_STATIC (node) && TREE_CODE (node) != FUNCTION_DECL)
+  if (0 && (!TREE_STATIC (node) && TREE_CODE (node) != FUNCTION_DECL)
       || !TREE_PUBLIC (node))
     {
       warning (OPT_Wattributes,


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28744

Reply via email to