c/2702: expr.c:emit_group_load() constant handling broken
dje@watson.ibm.com
dje@watson.ibm.com
Mon Apr 30 15:06:00 GMT 2001
>Number: 2702
>Category: c
>Synopsis: expr.c:emit_group_load() constant handling broken
>Confidential: no
>Severity: serious
>Priority: high
>Responsible: unassigned
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Mon Apr 30 15:06:00 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator: dje@watson.ibm.com
>Release: gcc 3.0 20010430 (prerelease)
>Organization:
>Environment:
AIX 4.3.3.0
>Description:
The 2000-08-14 patch by Richard Henderson to not force
constants into registers went too far: it assumes that
constants always can be loaded into parameter registers
directly. Without an intermediate pseudo, GCC fails
before reload has a chance to fixup the load because it
tries to load the constant directly, then in pieces,
then change the address of the constant, then aborts.
>How-To-Repeat:
c-torture/compile/960829-1.c
>Fix:
http://gcc.gnu.org/ml/gcc-patches/2001-02/msg01460.html
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the Gcc-bugs
mailing list