[Bug middle-end/42509] [4.5 Regression] bootstrap failure in stage3 (integer overflow in preprocessor expression)

rguenth at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Fri Apr 2 12:15:00 GMT 2010



------- Comment #21 from rguenth at gcc dot gnu dot org  2010-04-02 12:15 -------
Or rather the code tries to account for that but fails to notice that
the spill-slot decl isn't really a decl.  Thus the following is better:

Index: gcc/alias.c
===================================================================
--- gcc/alias.c (revision 157942)
+++ gcc/alias.c (working copy)
@@ -2147,6 +2147,11 @@ nonoverlapping_memrefs_p (const_rtx x, c
   if (exprx == 0 || expry == 0)
     return 0;

+  /* We can only handle real decls, not the fake spill slot.  */
+  if (exprx == get_spill_slot_decl (false)
+      || expry == get_spill_slot_decl (false))
+    return 0;
+
   /* If both are field references, we may be able to determine something.  */
   if (TREE_CODE (exprx) == COMPONENT_REF
       && TREE_CODE (expry) == COMPONENT_REF


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42509



More information about the Gcc-bugs mailing list