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