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;