ENUM_BITFIELD and -fshort-enums

Daniel Jacobowitz drow@false.org
Thu Dec 9 17:46:00 GMT 2004

I tried to build a native arm-unknown-linux-gnueabi compiler yesterday.
The only major problem was the fact that EABI defaults to
-fshort-enums.  rtl.h has this:

  /* The kind of expression this is.  */
  ENUM_BITFIELD(rtx_code) code: 16;

But since there are only 164 RTL codes at present, with -fshort-enums
the underlying type of enum rtx_code is "char".  So GCC gives an error
that the bitfield is wider than its type.

For now I'm just using an x-linuxeabi file which builds GCC using
-fno-short-enums, but that's not a good solution.  Should this bitfield
be allowed?

Daniel Jacobowitz

More information about the Gcc mailing list