middle-end/7315: DEC floating point support in real.c is broken

dave@hiauly1.hia.nrc.ca dave@hiauly1.hia.nrc.ca
Mon Jul 15 12:19:00 GMT 2002


>Number:         7315
>Category:       middle-end
>Synopsis:       DEC floating point support in real.c is broken
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Jul 15 12:16:01 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     Dave Anglin
>Release:        3.1 branch and 3.2
>Organization:
>Environment:
vax-dec-ultrix4.3
>Description:
DEC floating point constants are incorrectly generated by
the current emulator in real.c.  For example, the complex
value output for [(float)1, (float)0] in 20020227-1.c
is

        .align 2
LC0:
        .long   1065353216
        .long   0

The correct value for the first long is 16512.  It appears
that the IEEE value is being used instead of the DEC value.
>How-To-Repeat:
The problem can be duplicated with a cross compiler
to vax-dec-ultrix4.3.
>Fix:
A proposed fix for the problem on the main is here:
<http://gcc.gnu.org/ml/gcc-patches/2002-06/msg00645.html>.

The best solution for the 3.1 branch may be to revert to not
defining REAL_ARITHMETIC.
>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the Gcc-bugs mailing list