diff mbox

Fix ODR checking ICE

Message ID 20140919020602.GA13726@kam.mff.cuni.cz
State New
Headers show

Commit Message

Jan Hubicka Sept. 19, 2014, 2:06 a.m. UTC
Hi,
this patch fixes thinko in a condition guarding the ODR comparing patch.

Boostrapped/regtested x86_64-linux, comitted.
Honza
	PR lto/63298
	* ipa-devirt.c (odr_subtypes_equivalent_p): Fix thinko in a condition.
diff mbox

Patch

Index: ipa-devirt.c
===================================================================
--- ipa-devirt.c	(revision 215328)
+++ ipa-devirt.c	(working copy)
@@ -525,8 +525,10 @@  odr_subtypes_equivalent_p (tree t1, tree
   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))