aboutsummaryrefslogtreecommitdiff
path: root/gcc/ipa-polymorphic-call.c
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@ucw.cz>2014-11-20 07:15:03 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2014-11-20 06:15:03 +0000
commit1be0e58d3003aa8a780d229bf38b0e4a61928b9e (patch)
treeb027bc052b062a295ed4e82de7214afde37561ce /gcc/ipa-polymorphic-call.c
parent1b5695e6100dec3f7c1e86ba5594471987cda466 (diff)
downloadgcc-1be0e58d3003aa8a780d229bf38b0e4a61928b9e.zip
gcc-1be0e58d3003aa8a780d229bf38b0e4a61928b9e.tar.gz
gcc-1be0e58d3003aa8a780d229bf38b0e4a61928b9e.tar.bz2
tree.c (free_lang_data_in_type): If BINFO has no important information in it, set it to NULL.
* tree.c (free_lang_data_in_type): If BINFO has no important information in it, set it to NULL. (get_binfo_at_offset): Do not walk fields, only bases. * ipa-utils.h (polymorphic_type_binfo_p): Be ready for BINFO_TYPE to be NULL. * ipa-polymorphic-call.c (record_known_type): Likewise. From-SVN: r217824
Diffstat (limited to 'gcc/ipa-polymorphic-call.c')
-rw-r--r--gcc/ipa-polymorphic-call.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/ipa-polymorphic-call.c b/gcc/ipa-polymorphic-call.c
index 452f2d2..249f0d7 100644
--- a/gcc/ipa-polymorphic-call.c
+++ b/gcc/ipa-polymorphic-call.c
@@ -1307,6 +1307,7 @@ record_known_type (struct type_change_info *tci, tree type, HOST_WIDE_INT offset
if (type
&& (offset
|| (TREE_CODE (type) != RECORD_TYPE
+ || !TYPE_BINFO (type)
|| !polymorphic_type_binfo_p (TYPE_BINFO (type)))))
{
ipa_polymorphic_call_context context;