This is the mail archive of the
gcc-prs@gcc.gnu.org
mailing list for the GCC project.
Re: c/9835: ICE - segfault using -msoft-float with latest mips-elf toolchain
- From: <fnf at intrinsity dot com>
- To: nobody at gcc dot gnu dot org
- Cc: gcc-prs at gcc dot gnu dot org,
- Date: 25 Feb 2003 22:26:01 -0000
- Subject: Re: c/9835: ICE - segfault using -msoft-float with latest mips-elf toolchain
- Reply-to: <fnf at intrinsity dot com>
The following reply was made to PR c/9835; it has been noted by GNATS.
From: <fnf at intrinsity dot com>
To: gcc-gnats at gcc dot gnu dot org
Cc:
Subject: Re: c/9835: ICE - segfault using -msoft-float with latest mips-elf toolchain
Date: Tue, 25 Feb 2003 16:21:43 -0600 (CST)
From fnf at public dot ninemoons dot com Tue Feb 25 11:32:11 2003
Return-Path: <fnf at public dot ninemoons dot com>
X-Original-To: fnf at victoria dot eng dot evsx dot com
Delivered-To: fnf at victoria dot eng dot evsx dot com
Received: from mailhost.intrinsity.com (gw.intrinsity.com [208.246.32.130])
by victoria.intrinsity.com (Postfix) with ESMTP id DCEED4586C
for <fnf at victoria dot eng dot evsx dot com>; Tue, 25 Feb 2003 11:32:10 -0600 (CST)
Received: by mailhost.intrinsity.com (Postfix)
id DDBCD3F3A8; Tue, 25 Feb 2003 11:31:52 -0600 (CST)
Delivered-To: fnf at intrinsity dot com
Received: from fred.ninemoons.com (wsip68-14-214-217.ph.ph.cox.net [68.14.214.217])
by mailhost.intrinsity.com (Postfix) with ESMTP id 1F1153F3A6
for <fnf at intrinsity dot com>; Tue, 25 Feb 2003 11:31:52 -0600 (CST)
Received: from fred.ninemoons.com (localhost.localdomain [127.0.0.1])
by fred.ninemoons.com (8.12.5/8.12.5) with ESMTP id h1PHZKwI005729;
Tue, 25 Feb 2003 10:35:26 -0700
Received: (from fnf at localhost)
by fred.ninemoons.com (8.12.5/8.12.5/Submit) id h1PHZJLl005727;
Tue, 25 Feb 2003 10:35:19 -0700
From: Fred Fish <fnf at public dot ninemoons dot com>
Message-Id: <200302251735 dot h1PHZJLl005727 at fred dot ninemoons dot com>
Subject: Re: c/9835: ICE - segfault using -msoft-float with latest mips-elf toolchain
To: gcc-bugs at gcc dot gnu dot org
Date: Tue, 25 Feb 2003 10:35:19 -0700 (MST)
Cc: kazu at cs dot umass dot edu, fnf at intrinsity dot com
Reply-To: fnf at intrinsity dot com
X-Mailer: ELM [version 2.5 PL6]
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
The following code (simplified from my original reported testcase)
triggers an internal compiler error when compiled with -O2 and
-msoft-float by the latest mips-elf toolchain:
void
foo ()
{
double dval;
unsigned int ival;
if (dval == 0)
return;
if (dval != dval)
{
bar (ival);
}
if (dval < 0)
{
bar (ival);
}
}
For example:
$ ./cc1 -O2 -msoft-float segfault.i
foo
segfault.i: In function `foo':
segfault.i:17: internal compiler error: Segmentation fault
Comparing with a previously working compiler, I have backtracked the
problem to a recent change made to cprop_jump(). The following patch
that reverts one line of that change will sidestep the problem, but is
probably NOT the right fix. Unfortunately my knowledge of gcc
internals is not sufficient for me to provide a better patch at this
time.
Index: gcse.c
===================================================================
RCS file: /mips/newtools/fsf/gcc/gcc/gcse.c,v
retrieving revision 1.3
diff -u -p -r1.3 gcse.c
--- gcse.c 2003/02/24 15:40:41 1.3
+++ gcse.c 2003/02/25 17:29:28
@@ -4064,7 +4064,7 @@ cprop_jump (bb, setcc, jump, from, src)
new_set = simplify_replace_rtx (SET_SRC (set),
SET_DEST (setcc_set),
- setcc_set_src);
+ SET_SRC (setcc_set));
}
else
new_set = set;
-Fred