aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@ucw.cz>2016-03-10 17:05:59 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2016-03-10 16:05:59 +0000
commit079cd8548b540ceda89887711f6f7fb3a8fa49ec (patch)
tree3b8921295eeff1ab5d2f0acc25532f985862f311 /gcc
parent2b9c477e7cdc9d30c590215a936e4e2d9518021d (diff)
downloadgcc-079cd8548b540ceda89887711f6f7fb3a8fa49ec.zip
gcc-079cd8548b540ceda89887711f6f7fb3a8fa49ec.tar.gz
gcc-079cd8548b540ceda89887711f6f7fb3a8fa49ec.tar.bz2
re PR lto/69630 (LTO ICE in types_same_for_odr at ipa-devirt.c:402)
PR ipa/69630 * ipa-devirt.c (possible_polymorphic_call_targets): Do not ICE on cxa_pure_virtual. From-SVN: r234114
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/ipa-devirt.c4
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index df39909..f65902b 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,11 @@
2016-03-10 Jan Hubicka <hubicka@ucw.cz>
+ PR ipa/69630
+ * ipa-devirt.c (possible_polymorphic_call_targets): Do not ICE
+ on cxa_pure_virtual.
+
+2016-03-10 Jan Hubicka <hubicka@ucw.cz>
+
PR lto/69589
* tree.c (free_lang_data_in_decl): Clear visibility of TYPE_DECL.
diff --git a/gcc/ipa-devirt.c b/gcc/ipa-devirt.c
index 2da5c01..e4fb562 100644
--- a/gcc/ipa-devirt.c
+++ b/gcc/ipa-devirt.c
@@ -3177,11 +3177,11 @@ possible_polymorphic_call_targets (tree otr_type,
if (!outer_type->all_derivations_known)
{
- if (!speculative && final_warning_records)
+ if (!speculative && final_warning_records
+ && TREE_CODE (TREE_TYPE (nodes[0]->decl)) == METHOD_TYPE)
{
if (complete
&& nodes.length () == 1
- && TREE_CODE (TREE_TYPE (nodes[0]->decl)) == METHOD_TYPE
&& warn_suggest_final_types
&& !outer_type->derived_types.length ())
{