From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15939 invoked by alias); 3 Nov 2012 02:51:45 -0000 Received: (qmail 15889 invoked by uid 48); 3 Nov 2012 02:51:27 -0000 From: "hjl.tools at gmail dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug middle-end/55142] [4.8 Regression] internal compiler error: in plus_constant, at explow.c:88 Date: Sat, 03 Nov 2012 02:51:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: middle-end X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: hjl.tools at gmail dot com X-Bugzilla-Status: NEW X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: ebotcazou at gcc dot gnu.org X-Bugzilla-Target-Milestone: 4.8.0 X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 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: 2012-11/txt/msg00194.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55142 --- Comment #19 from H.J. Lu 2012-11-03 02:51:26 UTC --- This patch: [hjl@gnu-tools-1 tmp]$ cat /tmp/x diff --git a/gcc/expr.c b/gcc/expr.c index 3e8e004..da35488 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -8115,7 +8115,7 @@ expand_expr_real_2 (sepops ops, rtx target, enum machine_mode tmode, And force_operand won't know whether to sign-extend or zero-extend. */ if ((modifier != EXPAND_SUM && modifier != EXPAND_INITIALIZER) - || mode != ptr_mode) + || mode != Pmode) { expand_operands (treeop0, treeop1, subtarget, &op0, &op1, EXPAND_NORMAL); [hjl@gnu-tools-1 tmp]$ removes most of glibc failures. Does it make any senses? If it does, there is another place in expand_expr_real_2: [hjl@gnu-tools-1 tmp]$ cat /tmp/y diff --git a/gcc/expr.c b/gcc/expr.c index 3e8e004..816fdb8 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -8157,7 +8157,7 @@ expand_expr_real_2 (sepops ops, rtx target, enum machine_mode tmode, And force_operand won't know whether to sign-extend or zero-extend. */ if ((modifier != EXPAND_SUM && modifier != EXPAND_INITIALIZER) - || mode != ptr_mode) + || mode != Pmode) goto binop; expand_operands (treeop0, treeop1, [hjl@gnu-tools-1 tmp]$