#2967: ARM: Change ABI to not use short enums
-----------------------------+-----------------------------
Reporter: Sebastian Huber | Owner: joel.sherrill@…
Type: enhancement | Status: new
Priority: normal | Milestone: 4.12.0
Component: GCC | Version:
Severity: normal | Keywords:
-----------------------------+-----------------------------
Whether enums are short or not is left open in the ARM EABI. On Linux and
FreeBSD no short enums are used. Otherwise short enums are enabled by
default.
Short enums may cause hard to find issues with 3rd party software, since
the are quite unusual in general, e.g.
https://git.rtems.org/rtems-
libbsd/commit/freebsd/include/rpc?id=9880635f2e642380b69b85e00271649b3a2fc2de
The data and structure layout may suddenly change in case enumeration
values are added/removed. The benefit of short enums is probably not
worth the trouble, since the packed compiler attribute can be used to
individually make an enum short.
The reason for not choosing no short enums during the ARM EABI
introduction was an issue with Newlib. This is addressed with the
following patch:
https://sourceware.org/ml/newlib/2017/msg00238.html
--
Ticket URL: <http://devel.rtems.org/ticket/2967>
RTEMS Project <http://www.rtems.org/>
RTEMS Project
_______________________________________________
bugs mailing list
[email protected]
http://lists.rtems.org/mailman/listinfo/bugs