diff options
author | Richard Biener <rguenther@suse.de> | 2019-08-12 11:02:21 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2019-08-12 11:02:21 +0000 |
commit | b0dffed9dae9bd2d61292beb13038414270c03e5 (patch) | |
tree | 8b5ea30a93afc1827046ec5b5e6ae16f9ffed7c2 /gcc/tree.c | |
parent | 8508ae1de0c80f65ca742681df7f2c065f9e4c4e (diff) | |
download | gcc-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.c | 3 |
1 files changed, 1 insertions, 2 deletions
@@ -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; } } |