aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2019-08-12 11:02:21 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2019-08-12 11:02:21 +0000
commitb0dffed9dae9bd2d61292beb13038414270c03e5 (patch)
tree8b5ea30a93afc1827046ec5b5e6ae16f9ffed7c2 /gcc/tree.c
parent8508ae1de0c80f65ca742681df7f2c065f9e4c4e (diff)
downloadgcc-b0dffed9dae9bd2d61292beb13038414270c03e5.zip
gcc-b0dffed9dae9bd2d61292beb13038414270c03e5.tar.gz
gcc-b0dffed9dae9bd2d61292beb13038414270c03e5.tar.bz2
re PR lto/91375 (ICE on valid code in subbinfo_with_vtable_at_offset at ipa-devirt.c:2760 since r256685)
2019-08-12 Richard Biener <rguenther@suse.de> PR lto/91375 * tree.c (free_lang_data_in_type): Do not free TYPE_BINFO dependent on flag_devirtualize. From-SVN: r274310
Diffstat (limited to 'gcc/tree.c')
-rw-r--r--gcc/tree.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/gcc/tree.c b/gcc/tree.c
index 154ef3a..8f80012 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -5531,8 +5531,7 @@ free_lang_data_in_type (tree type, class free_lang_data_d *fld)
free_lang_data_in_binfo (TYPE_BINFO (type));
/* We need to preserve link to bases and virtual table for all
polymorphic types to make devirtualization machinery working. */
- if (!BINFO_VTABLE (TYPE_BINFO (type))
- || !flag_devirtualize)
+ if (!BINFO_VTABLE (TYPE_BINFO (type)))
TYPE_BINFO (type) = NULL;
}
}