PR ipa/59473 (ICE in get_class_context)
Jan Hubicka
hubicka@ucw.cz
Mon Dec 16 10:54:00 GMT 2013
Hi,
the problem here is that we ICE on an assert that crept in from earliler
stages of development where I wondered if we can hit this somewhat odd situation.
Fixed thus.
Honza
Index: ChangeLog
===================================================================
--- ChangeLog (revision 206011)
+++ ChangeLog (working copy)
@@ -1,3 +1,9 @@
+2013-12-14 Jan Hubicka <jh@suse.cz>
+
+ PR ipa/59473
+ * ipa-devirt.c (get_class_context): Do not ICE when type is found
+ at wrong offset.
+
2013-12-16 Jakub Jelinek <jakub@redhat.com>
PR libgomp/58756
Index: ipa-devirt.c
===================================================================
--- ipa-devirt.c (revision 205992)
+++ ipa-devirt.c (working copy)
@@ -848,6 +848,10 @@ get_class_context (ipa_polymorphic_call_
if (TREE_CODE (type) == TREE_CODE (expected_type)
&& types_same_for_odr (type, expected_type))
{
+ /* Type can not contain itself on an non-zero offset. In that case
+ just give up. */
+ if (offset != 0)
+ goto give_up;
- gcc_assert (offset == 0);
return true;
}
More information about the Gcc-patches
mailing list