You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
According to ISO/IEC 9899:TC3 7.18.2.2,
"Each instance of [INTn_MIN and INTn_MAX] shall be replaced by a constant
expansion suitable for use in #if preprocessor directives, and this expression
shall have the same type as would an expression that is an object of the
corresponding type converted according to the integer promotions"
The INTn_MAX macros always violated the second requirement, and r19 means that
the INTn_MIN macros now violate both requirements.
The recommended solution would be to define the INTn_MIN / INTn_MAX macros as
follows:
#define INT8_MIN (_I8_MIN + 0)
#define INT8_MAX (_I8_MAX + 0)
#define INT16_MIN (_I16_MIN + 0)
#define INT16_MAX (_I16_MAX + 0)
#define INT32_MIN (_I32_MIN + 0)
#define INT32_MAX (_I32_MAX + 0)
#define INT64_MIN (_I64_MIN + 0)
#define INT64_MAX (_I64_MAX + 0)
#define UINT8_MAX (_UI8_MAX + 0)
#define UINT16_MAX (_UI16_MAX + 0)
#define UINT32_MAX (_UI32_MAX + 0)
#define UINT64_MAX (_UI64_MAX + 0)
Original issue reported on code.google.com by cj...@cam.ac.uk on 5 Aug 2010 at 6:28
The text was updated successfully, but these errors were encountered:
Original issue reported on code.google.com by
cj...@cam.ac.uk
on 5 Aug 2010 at 6:28The text was updated successfully, but these errors were encountered: