Article View: gnu.gcc.bug
Article #722finally nailed it
From: Dirk Grunwald
Date: Tue, 17 Oct 1989 16:56
Date: Tue, 17 Oct 1989 16:56
85 lines
3145 bytes
3145 bytes
the following patch to out-mips.c fixes (honest) the problem for the
decstation-3100 that I mentioned previously. The test case program,
first compiled with the old gcc and then with the new one, is appended
at the end.
I belive that this patch was actually done by MDT. I yanked it from
another version of out-mips.c.
[foobar-88] rcsdiff out-mips.c
RCS file: RCS/out-mips.c,v
retrieving revision 1.1
diff -r1.1 out-mips.c
221a222,230
> else if (regnum >= 0)
> return gen_rtx (REG, mode, regnum);
> else if (regnum == -2)
> {
> if (mode == SFmode)
> return gen_rtx (SUBREG, SFmode, gen_rtx (REG, DFmode, 6), 0);
> else
> return gen_rtx (REG, DFmode, 6);
> }
223,225c232
< return (regnum >= 0 ? gen_rtx (REG, mode, regnum)
< : regnum == -2 ? gen_rtx (REG, DFmode, 6)
< : 0);
---
> return 0;
Here's the test case program:
Script started on Tue Oct 17 10:50:45 1989
[foobar-1] cat test2.c
int
foo(int i, float x)
{
return( i = i + x );
}
int
foo(int i, double d)
{
return( i = i + d );
}
############ the old compiler
[foobar-3] gcc -c -v test2.c
gcc version 1.36
/usr/local/Gnu/lib/gcc-cpp -v -undef -D__GNUC__ -Dmips -Dunix -D__mips__ -D__unix__ -DR3000 -DLANGUAGE_C -DMIPSEL -DSYSTYPE_BSD -Dultrix test2.c /usr/tmp/cca04463.cpp
GNU CPP version 1.36
/usr/local/Gnu/lib/gcc-cc1 /usr/tmp/cca04463.cpp -quiet -dumpbase test2.c -version -o /usr/tmp/cca04463.s
GNU C version 1.36 (AL-MIPS 1.11) <Decstation>
compiled by GNU C version 1.36.
default target switches: -munix -mnofixed-ovfl -mG0 -mG1
test2.c: In function foo:
test2.c:5: The following insn was not recognizable:
(insn 5 4 6 (parallel[
(set (mem:SF (plus:SI (reg:SI 30)
(const_int 4)))
(reg:DF 6))
(clobber (reg:SI 24))
] ) -1 (nil)
(nil))
gcc: Program cc1 got fatal signal 4.
############ the new compiler
[foobar-4] $GCC/gcc -B$GCC/ -c -v test23..c
gcc version 1.36
/usr/local/src/Gcc/gcc-pmax/cpp -v -undef -D__GNUC__ -Dmips -Dunix -D__mips__ -D__unix__ -DR3000 -DLANGUAGE_C -DMIPSEL -DSYSTYPE_BSD -Dultrix test2.c /usr/tmp/cca04466.cpp
GNU CPP version 1.36
/usr/local/src/Gcc/gcc-pmax/cc1 /usr/tmp/cca04466.cpp -quiet -dumpbase test2.c -version -o /usr/tmp/cca04466.s
GNU C version 1.36 (AL-MIPS 1.11) <Decstation>
compiled by GNU C version 1.36.
default target switches: -munix -mnofixed-ovfl -mG0 -mG1
test2.c: In function foo:
test2.c:10: conflicting types for `foo'
test2.c:3: previous declaration of `foo'
[foobar-5]
script done on Tue Oct 17 10:51:18 1989
Technical Details
Message-ID:
<8910171656.AA04580@foobar.colorado.edu>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!uwm.edu!gem.mps.ohio-state.edu!rpi!tut.cis.ohio-state.edu!FOOBAR.COLORADO.EDU!grunwaldShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!uwm.edu!gem.mps.ohio-state.edu!rpi!tut.cis.ohio-state.edu!FOOBAR.COLORADO.EDU!grunwald From: grunwald@FOOBAR.COLORADO.EDU (Dirk Grunwald) Newsgroups: gnu.gcc.bug Subject: finally nailed it Message-ID: <8910171656.AA04580@foobar.colorado.edu> Date: 17 Oct 89 16:56:38 GMT Sender: daemon@tut.cis.ohio-state.edu Reply-To: grunwald@foobar.colorado.edu Distribution: gnu Organization: GNUs Not Usenet Lines: 85