------- Comment #3 from eblot dot ml at gmail dot com  2010-05-30 17:36 -------
> I can confirm this wrong-code when gcc 4.4/4.5 targets arm-unknown-eabi.
> However, a 4.4/4.5 running natively on arm-unknown-linux-gnueabi does not
exhibit this behaviour. 

IIRC, Linux ABI does not follow the ARM AAPCS that uses variable-width
enumeration.
On Linux, enumerated values are stored as a native integer value, whatever the
enumerated values. With AAPCS/ATPCS, if the enumerated values can be stored as
a byte, a byte is used: --with-abi=aapcs
I don't know if the issue is related to this ABI discrepancy.

> Also, it's not a jump table but a lookup table.
Sorry, my mistake.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44328

Reply via email to