From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23790 invoked by alias); 2 Apr 2010 15:20:45 -0000 Received: (qmail 23558 invoked by uid 48); 2 Apr 2010 15:20:23 -0000 Date: Fri, 02 Apr 2010 15:20:00 -0000 Message-ID: <20100402152023.23557.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug middle-end/42509] [4.5 Regression] bootstrap failure in stage3 (integer overflow in preprocessor expression) In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "rguenth at gcc dot gnu dot org" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2010-04/txt/msg00224.txt.bz2 ------- Comment #24 from rguenth at gcc dot gnu dot org 2010-04-02 15:20 ------- Alternative patch as suggested by Richard on IRC - it doesn't make sense to retain MEM_EXPR w/o MEM_OFFSET. Index: gcc/cfgcleanup.c =================================================================== --- gcc/cfgcleanup.c (revision 157942) +++ gcc/cfgcleanup.c (working copy) @@ -891,18 +891,14 @@ merge_memattrs (rtx x, rtx y) set_mem_alias_set (y, 0); } - if (! mem_expr_equal_p (MEM_EXPR (x), MEM_EXPR (y))) + if (! mem_expr_equal_p (MEM_EXPR (x), MEM_EXPR (y)) + || MEM_OFFSET (x) != MEM_OFFSET (y)) { set_mem_expr (x, 0); set_mem_expr (y, 0); set_mem_offset (x, 0); set_mem_offset (y, 0); } - else if (MEM_OFFSET (x) != MEM_OFFSET (y)) - { - set_mem_offset (x, 0); - set_mem_offset (y, 0); - } if (!MEM_SIZE (x)) mem_size = NULL_RTX; -- rguenth at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC|rguenther at suse dot de |jakub at gcc dot gnu dot | |org, rguenth at gcc dot gnu | |dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42509