[gnu.gcc.bug] bug in floating point constants?

boot@CIS.OHIO-STATE.EDU (Bruce Bauman) (12/01/88)

Using version 1.31 of the GNU C compiler on a Sequent Symmetry (i386) machine,
the compiler generates invalid assembly code.

The unbootstrapped compiler generates valid assembly code. I believe the errors
are generated by CSEs like (1 << BITS_PER_INT / 2). The invalid code is
generated for tree.c. Here's a diff of the "good" (unbootstrapped) and bad
(bootstrapped) output:

1797c1797
< 	.double 0d4.29496729600000000000e+09
---
> 	.double 0dden0x00000000000000001000  *** BAD ***
1800c1800
< 	.double 0d1.00000000000000000000e+00
---
> 	.double 0d4.29496729600000000000e+09
1845c1845
< 	fldl LC7
---
> 	fldl LC8
1857c1857
< 	fsubl LC8
---
> 	fsubl LC7
1876c1876
< 	fldl LC7
---
> 	fldl LC8

Note that the line marked ** BAD ** above contains the string "den", for
denormalized floating point. 

This error was found during installation, during the "make" of stage 2 (compile
the compiler through itself one more time).