@@ -1536,6 +1536,9 @@ typedef TYPE_FOR_A_SIGNED_INTEGER_VALUE a_signed_integer_value;
15361536
15371537/* Minimum and maximum values that can be represented in an_integer_value. */
15381538#ifndef MAX_INTEGER_VALUE
1539+ #if INT128_EXTENSIONS_ALLOWED
1540+ #define MAX_INTEGER_VALUE ((__int128_t )(~(__uint128_t )0 >> 1 ))
1541+ #else /* !INT128_EXTENSIONS_ALLOWED */
15391542#if LONG_LONG_ALLOWED
15401543#ifdef LLONG_MAX
15411544#define MAX_INTEGER_VALUE LLONG_MAX
@@ -1545,8 +1548,12 @@ typedef TYPE_FOR_A_SIGNED_INTEGER_VALUE a_signed_integer_value;
15451548#else /* !LONG_LONG_ALLOWED */
15461549#define MAX_INTEGER_VALUE LONG_MAX
15471550#endif /* LONG_LONG_ALLOWED */
1551+ #endif /* INT128_EXTENSIONS_ALLOWED */
15481552#endif /* ifndef MAX_INTEGER_VALUE */
15491553#ifndef MIN_INTEGER_VALUE
1554+ #if INT128_EXTENSIONS_ALLOWED
1555+ #define MIN_INTEGER_VALUE (-MAX_INTEGER_VALUE -1 )
1556+ #else /* !INT128_EXTENSIONS_ALLOWED */
15501557#if LONG_LONG_ALLOWED
15511558#if defined(LLONG_MIN) && LLONG_MIN < LLONG_MAX /* lint !e30*/
15521559/* The preceding condition detects an incorrect definition of LLONG_MIN
@@ -1558,8 +1565,12 @@ typedef TYPE_FOR_A_SIGNED_INTEGER_VALUE a_signed_integer_value;
15581565#else /* !LONG_LONG_ALLOWED */
15591566#define MIN_INTEGER_VALUE LONG_MIN
15601567#endif /* LONG_LONG_ALLOWED */
1568+ #endif /* INT128_EXTENSIONS_ALLOWED */
15611569#endif /* ifndef MIN_INTEGER_VALUE */
15621570#ifndef MAX_UNSIGNED_INTEGER_VALUE
1571+ #if INT128_EXTENSIONS_ALLOWED
1572+ #define MAX_UNSIGNED_INTEGER_VALUE (~(__uint128_t )0 )
1573+ #else /* !INT128_EXTENSIONS_ALLOWED */
15631574#if LONG_LONG_ALLOWED
15641575#ifdef ULLONG_MAX
15651576#define MAX_UNSIGNED_INTEGER_VALUE ULLONG_MAX
@@ -1569,6 +1580,7 @@ typedef TYPE_FOR_A_SIGNED_INTEGER_VALUE a_signed_integer_value;
15691580#else /* !LONG_LONG_ALLOWED */
15701581#define MAX_UNSIGNED_INTEGER_VALUE ULONG_MAX
15711582#endif /* LONG_LONG_ALLOWED */
1583+ #endif /* INT128_EXTENSIONS_ALLOWED */
15721584#endif /* ifndef MAX_UNSIGNED_INTEGER_VALUE */
15731585#ifndef BITS_IN_AN_INTEGER_VALUE
15741586#define BITS_IN_AN_INTEGER_VALUE (sizeof (an_integer_value) * CHAR_BIT )
0 commit comments