aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2011-06-12 22:38:57 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2011-06-12 20:38:57 +0000
commitc3e3f0901ad63a4a333dbf51eb29c98704cfaa45 (patch)
treef4ebf9cff01c8e54c518fae1354ac3949bc8512c /gcc
parent516e076862fffecf065ed0aed62e98ef405ff601 (diff)
downloadgcc-c3e3f0901ad63a4a333dbf51eb29c98704cfaa45.zip
gcc-c3e3f0901ad63a4a333dbf51eb29c98704cfaa45.tar.gz
gcc-c3e3f0901ad63a4a333dbf51eb29c98704cfaa45.tar.bz2
re PR middle-end/49373 (Many testcase failures)
PR middle-end/49373 * ipa.c (cgraph_externally_visible_p): Check resolution info. From-SVN: r174972
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/ipa.c2
2 files changed, 7 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2721e8e..e0c471b 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2011-06-11 Jan Hubicka <jh@suse.cz>
+ PR middle-end/49373
+ * ipa.c (cgraph_externally_visible_p): Check resolution info.
+
+2011-06-11 Jan Hubicka <jh@suse.cz>
+
PR middle-end/48836
* ipa-inline-transform.c: Include tree-pass.h
(inline_transform): Set TODO_update_ssa_only_virtuals.
diff --git a/gcc/ipa.c b/gcc/ipa.c
index 3f7dac3..07a90b5 100644
--- a/gcc/ipa.c
+++ b/gcc/ipa.c
@@ -629,6 +629,8 @@ cgraph_externally_visible_p (struct cgraph_node *node,
if (TARGET_DLLIMPORT_DECL_ATTRIBUTES
&& lookup_attribute ("dllexport", DECL_ATTRIBUTES (node->decl)))
return true;
+ if (node->resolution == LDPR_PREVAILING_DEF_IRONLY)
+ return false;
/* When doing LTO or whole program, we can bring COMDAT functoins static.
This improves code quality and we know we will duplicate them at most twice
(in the case that we are not using plugin and link with object file