diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-03-10 16:05:59 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-03-10 16:05:59 +0000 |
commit | 76333f63d2ce20bec1e45e5e39358e20131cd3fe (patch) | |
tree | 3b8921295eeff1ab5d2f0acc25532f985862f311 | |
parent | 26d3655d96030e617b3ed2649770d0d74d5a8906 (diff) | |
download | gcc-76333f63d2ce20bec1e45e5e39358e20131cd3fe.tar.gz |
PR ipa/69630
* ipa-devirt.c (possible_polymorphic_call_targets): Do not ICE
on cxa_pure_virtual.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234114 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/ipa-devirt.c | 4 |
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index df399095f08..f65902b9c0f 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 2da5c013cf5..e4fb56210f6 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 ()) { |