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
>Originator:     Dave Anglin
>Release:        3.1 branch and 3.2
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

        .align 2
        .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.
The problem can be duplicated with a cross compiler
to vax-dec-ultrix4.3.
A proposed fix for the problem on the main is here:

The best solution for the 3.1 branch may be to revert to not

More information about the Gcc-bugs mailing list