This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Bad vax case jump tables from GNU C egcs-2.91.12 980302 (gcc-2.8.0 release)
- To: egcs at cygnus dot com
- Subject: Bad vax case jump tables from GNU C egcs-2.91.12 980302 (gcc-2.8.0 release)
- From: Clive Nicolson <srwmcln at baby dot bedroom dot gen dot nz>
- Date: Fri, 13 Mar 1998 13:28:26 +1300 NZST
- CC: srwmcln at baby dot bedroom dot gen dot nz
I've just built GNU C egcs-2.91.12 980302 (gcc-2.8.0 release) for the vax
under vms and discovered it generates bad case statement code. The table
of word displacements following the case opcode are word aligned when
there should be no alignment. The table must be contiguous with the case
opcode, its part of the case instruction. I dont know how long this
problem has been there, but remember a similar problem on another machine
some time ago.
Typical case code:
casel r0,$69,$50
.align 1 <===== This is wrong!!!!
L16:
.word L14-L16
.word L15-L16
.word ....
Thanks
Clive