Module Name:    src
Committed By:   christos
Date:           Thu Mar 10 03:50:48 UTC 2016

Modified Files:
        src/external/gpl3/gcc.old/dist/gcc: varasm.c

Log Message:
Do the same song and dance for functions.


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/external/gpl3/gcc.old/dist/gcc/varasm.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/gcc.old/dist/gcc/varasm.c
diff -u src/external/gpl3/gcc.old/dist/gcc/varasm.c:1.4 src/external/gpl3/gcc.old/dist/gcc/varasm.c:1.5
--- src/external/gpl3/gcc.old/dist/gcc/varasm.c:1.4	Mon Mar  7 22:58:08 2016
+++ src/external/gpl3/gcc.old/dist/gcc/varasm.c	Wed Mar  9 22:50:47 2016
@@ -6659,6 +6659,17 @@ default_binds_local_p_3 (const_tree exp,
       else if (vnode && resolution_local_p (vnode->symbol.resolution))
 	resolved_locally = true;
     }
+  else if (TREE_CODE (exp) == FUNCTION_DECL && TREE_PUBLIC (exp))
+    {
+      struct cgraph_node *cnode = cgraph_get_node (exp);
+      if (cnode && cnode->symbol.in_other_partition)
+	defined_locally = true;
+      if (cnode && resolution_to_local_definition_p (cnode->symbol.resolution))
+	defined_locally = resolved_locally = true;
+      else if (cnode && resolution_local_p (cnode->symbol.resolution))
+	resolved_locally = true;
+    }
+
   if (defined_locally && weak_dominate && !shlib)
     resolved_locally = true;
 

Reply via email to