Sebastian Huber <sebastian.hu...@embedded-brains.de> writes:

> the default ARM EABI configuration uses short enums by default (from
> "gcc/config/arm/arm.c":
>
> /* AAPCS based ABIs use short enums by default.  */
>
> static bool
> arm_default_short_enums (void)
> {
>   return TARGET_AAPCS_BASED && arm_abi != ARM_ABI_AAPCS_LINUX;
> }
>
> This causes a major headache for me since some libraries assume that
> sizeof(any enum) > 1, e.g. the standard XDR library.  Is the only
> possible way to disable short enums to set the ABI to
> ARM_ABI_AAPCS_LINUX?  Which side effects does this have?

This question would be better asked on the mailing list
gcc-h...@gcc.gnu.org rather than gcc@gcc.gnu.org.  The gcc@ mailing list
is for issues related to the development of gcc itself.  Please take any
followups to gcc-help.  Thanks.

You can use -fno-short-enums.  However, see the note about ABI
compatibility in the -fshort-enums doc.

Ian

Reply via email to