Article View: gnu.gcc.bug
Article #5980Re: Objective-C 960906 broken on i386
From: Tethpub Znek
Date: Sun, 19 Jan 1997 00:00
Date: Sun, 19 Jan 1997 00:00
37 lines
1865 bytes
1865 bytes
Hi,
thanks for the very (!) quick help to kenner@vlsi1.ultra.nyu.edu (Richard
Kenner). The problem really seems to be a bug in gcc (2.7.2 and 2.7.2.1) and
can be fixed with the following patch:
----- cut here ------
diff -Nc config/i386/i386.md.orig config/i386/i386.md
*** config/i386/i386.md.orig Mon Aug 21 17:27:58 1995
--- config/i386/i386.md Sun Jan 19 14:26:31 1997
***************
*** 5312,5321 ****
--- 5312,5324 ----
coprocessor registers as containing a possible return value,
simply pretend the untyped call returns a complex long double
value. */
+ /*
emit_call_insn (TARGET_80387
? gen_call_value (gen_rtx (REG, XCmode, FIRST_FLOAT_REG),
operands[0], const0_rtx)
: gen_call (operands[0], const0_rtx));
+ */
+ emit_call_insn (gen_call (operands[0], const0_rtx, NULL, const0_rtx));
for (i = 0; i < XVECLEN (operands[2], 0); i++)
{
------ cut here ------
This patch is for gcc-2.7.2.1 but should also work for gcc-2.7.2.
This experience shows also that the not officially supported patch
gcc-2.7.2-2.7.2p-pl9.diff introduces new bugs (at least if you want to work
with Objective-C) and therefore cannot really be recommended.
Have fun,
Marcus.
Technical Details
Message-ID:
<5btj5k$10n@beefree.free.de>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<5bt8ia$mc9@beefree.free.de>Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 113d02,45b269bd29173832 X-Google-Attributes: gid113d02,public From: znek@free.de (Tethpub Znek) Subject: Re: Objective-C 960906 broken on i386 Date: 1997/01/19 Message-ID: <5btj5k$10n@beefree.free.de> X-Deja-AN: 210857518 sender: bug-gcc-request@prep.ai.mit.edu references: <5bt8ia$mc9@beefree.free.de> organization: A not so poorly-installed InterNetNews site x-gateway: relay5.UU.NET from bug-gcc to gnu.gcc.bug; Sun, 19 Jan 1997 12:25:01 EST newsgroups: gnu.gcc.bug