re PR ipa/63298 (internal compiler error: in types_same_for_odr, at ipa-devirt.c:449 with LTO)

PR lto/63298
	* ipa-devirt.c (odr_subtypes_equivalent_p): Fix thinko in a condition.

From-SVN: r215374
This commit is contained in:
Jan Hubicka 2014-09-19 04:04:20 +02:00 committed by Jan Hubicka
parent 102ed6c62b
commit 9d8fc086d1
2 changed files with 9 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2014-09-18 Jan Hubicka <hubicka@ucw.cz>
PR lto/63298
* ipa-devirt.c (odr_subtypes_equivalent_p): Fix thinko in a condition.
2014-09-18 Joseph Myers <joseph@codesourcery.com>
* system.h (LIBGCC2_TF_CEXT): Poison.

View File

@ -525,8 +525,10 @@ odr_subtypes_equivalent_p (tree t1, tree t2, hash_set<type_pair,pair_traits> *vi
if (an1 != an2 || an1)
return false;
/* For ODR types be sure to compare their names. */
if ((odr_type_p (t1) && !odr_type_p (t2))
/* For ODR types be sure to compare their names.
To support -wno-odr-type-merging we allow one type to be non-ODR
and other ODR even though it is a violation. */
if ((odr_type_p (t1) && odr_type_p (t2))
|| (TREE_CODE (t1) == RECORD_TYPE && TREE_CODE (t2) == RECORD_TYPE
&& TYPE_BINFO (t1) && TYPE_BINFO (t2)
&& polymorphic_type_binfo_p (TYPE_BINFO (t1))