I am looking through the defect list for TI ARM Compiler version 5.1.7.
I came across known issue SDSCM00038327 and am not sure I understand the impact.
Could someone please better explain this defect to me, and if there is anything I might need to do to work around it. What impact does it have to me when I'm using the RTS?
-------------------------------------------------------------------------------
KNOWN ISSUE SDSCM00038327
-------------------------------------------------------------------------------
Summary : ARM RTS libraries expose enumerations across ABI
boundaries, but are marked as having no visible
enumerations
Affected Component : Runtime Support Libraries (RTS)
Description:
The ARM RTS libraries are marked as having no visible enumerations. This is
true for the C library routines, but not the C++. Some C++ header files
include inline functions that manipulate enumeration values. Possible
solutions:
1. Quit marking libraries as having no visible enums. This is bad because then
we will have to provide libraries with both enum types.
2. Get rid of the enumerations.
3. Force enumerations exposed in header files to be either packed or int.
Packed can be done using the packed gcc attribute. The trouble is that for
ARM, gcc attributes are not available without the --gcc switch. I believe
C6x exposes attributes by default, so we can probably make the switch for
ARM (and maybe all targets). Forcing enums to be int can be done by
including a dummy enumerator in every enumeration that is INT_MAX.