re PR lto/91375 (ICE on valid code in subbinfo_with_vtable_at_offset at ipa-devirt...
authorRichard Biener <rguenther@suse.de>
Mon, 12 Aug 2019 11:02:21 +0000 (11:02 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Mon, 12 Aug 2019 11:02:21 +0000 (11:02 +0000)
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

gcc/ChangeLog
gcc/tree.c

index c59df62ed0f83e7c3492302432b94d9bfdd536d1..9f767127a7d2275f6b19c849e02bd54c1bbf2dfc 100644 (file)
@@ -1,3 +1,9 @@
+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.
+
 2019-08-12  Richard Biener  <rguenther@suse.de>
 
        PR driver/91130
index 154ef3ac38ff4901aa4d67a6eda6ed6b399fe6d5..8f80012c6e86cb8ab49d19050d37fa23ea1316d8 100644 (file)
@@ -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;
        }
     }