diff options
author | Jan Hubicka <jh@suse.cz> | 2013-09-17 17:46:06 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2013-09-17 15:46:06 +0000 |
commit | 5b79657a115e3b62fc860ad88238e9ab0b0f6395 (patch) | |
tree | 114983054e860912f00de7bb086f99457a71972c /gcc/ipa-profile.c | |
parent | 27442c2405bc264c435b485db9a13f6061535aa7 (diff) | |
download | gcc-5b79657a115e3b62fc860ad88238e9ab0b0f6395.zip gcc-5b79657a115e3b62fc860ad88238e9ab0b0f6395.tar.gz gcc-5b79657a115e3b62fc860ad88238e9ab0b0f6395.tar.bz2 |
re PR ipa/58329 (ld: Invalid symbol type for plabel (.libs/libstdc++.lax/libc++11convenience.a/system_error.o, std::error_category::default_error_condition(int) const [clone .localalias.9]).)
PR middle-end/58329
* ipa-devirt.c (ipa_devirt): Be ready for symtab_nonoverwritable_alias
to return NULL.
* ipa.c (function_and_variable_visibility): Likewise.
* ipa-profile.c (ipa_profile): Likewise.
From-SVN: r202657
Diffstat (limited to 'gcc/ipa-profile.c')
-rw-r--r-- | gcc/ipa-profile.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ipa-profile.c b/gcc/ipa-profile.c index 2b22333..424e4a6 100644 --- a/gcc/ipa-profile.c +++ b/gcc/ipa-profile.c @@ -625,7 +625,13 @@ ipa_profile (void) of N2. Speculate on the local alias to allow inlining. */ if (!symtab_can_be_discarded ((symtab_node) n2)) - n2 = cgraph (symtab_nonoverwritable_alias ((symtab_node)n2)); + { + cgraph_node *alias; + alias = cgraph (symtab_nonoverwritable_alias + ((symtab_node)n2)); + if (alias) + n2 = alias; + } nconverted++; cgraph_turn_edge_to_speculative (e, n2, |