This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Bad vax case jump tables from GNU C egcs-2.91.12 980302 (gcc-2.8.0 release)


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]