Replace UNERDLOW/OVERFLOW by M_UNDERFLOW/M_OVERFLOW as some systems (Windows/MacOS) perform '#define UNDERFLOW value' in their headers, preventing the detection at preprocessing time.

This commit is contained in:
Patrick Pelissier committed 2021-02-07 09:36:00 +01:00
1 parent 16e2e07d41
commit d85df43329
3 files changed
+16 -16

No files matched your search

+2 -2
View File
@@ -5401,13 +5401,13 @@ The number shall be within the range [1..M\_MAX\_NB\_ARGUMENT].
Return x+y (resolution is performed at preprocessing time).
x, y shall be within [0..M\_MAX\_NB\_ARGUMENT].
If the result is not in [0..M\_MAX\_NB\_ARGUMENT+1], it returns OVERFLOW.
If the result is not in [0..M\_MAX\_NB\_ARGUMENT+1], it returns M_OVERFLOW.
##### M\_SUB(x, y)
Return x-y (resolution is performed at preprocessing time).
x, y shall be within [0..M\_MAX\_NB\_ARGUMENT].
If the result is not in [0..M\_MAX\_NB\_ARGUMENT], it returns UNDERFLOW.
If the result is not in [0..M\_MAX\_NB\_ARGUMENT], it returns M_UNDERFLOW.
##### M\_BOOL(cond)
+7 -7
View File
@@ -443,8 +443,8 @@ M_BEGIN_PROTECTED_CODE
#define M_INC_50 51
#define M_INC_51 52
#define M_INC_52 53
#define M_INC_53 OVERFLOW
#define M_INC_OVERFLOW OVERFLOW
#define M_INC_53 M_OVERFLOW
#define M_INC_M_OVERFLOW M_OVERFLOW
/* Decrement the number given in argument (from [0..52[)
@@ -452,8 +452,8 @@ M_BEGIN_PROTECTED_CODE
for i in $(seq 1 52) ; do printf "#define M_DEC_%d %d\n" $i $(($i - 1)) ; done
*/
#define M_DEC(x) M_C(M_DEC_, x)
#define M_DEC_UNDERFLOW UNDERFLOW
#define M_DEC_0 UNDERFLOW
#define M_DEC_M_UNDERFLOW M_UNDERFLOW
#define M_DEC_0 M_UNDERFLOW
#define M_DEC_1 0
#define M_DEC_2 1
#define M_DEC_3 2
@@ -1103,8 +1103,8 @@ M_BEGIN_PROTECTED_CODE
#define M_PATTERN_TYPE_TYPE ,
#define M_PATTERN_SUBTYPE_SUBTYPE ,
#define M_PATTERN_IT_TYPE_IT_TYPE ,
#define M_PATTERN_UNDERFLOW_UNDERFLOW ,
#define M_PATTERN_OVERFLOW_OVERFLOW ,
#define M_PATTERN_M_UNDERFLOW_M_UNDERFLOW ,
#define M_PATTERN_M_OVERFLOW_M_OVERFLOW ,
/* Necessary macros to handle recursivity,
@@ -1739,7 +1739,7 @@ M_BEGIN_PROTECTED_CODE
/* Return 1 if a < b, 0 otherwise
a and b shall be in [0..M_MAX_NB_ARGUMENT] */
#define M_LESS_THAN_P(a, b) M_KEYWORD_P(UNDERFLOW, M_SUB(a, b))
#define M_LESS_THAN_P(a, b) M_KEYWORD_P(M_UNDERFLOW, M_SUB(a, b))
/* Return 1 if a >= b, 0 otherwise
a and b shall be in [0..M_MAX_NB_ARGUMENT] */
+7 -7
View File
@@ -135,13 +135,13 @@ static void test_incdec(void)
assert(!M_GREATER_OR_EQUAL_P(4, 6));
assert(!M_GREATER_OR_EQUAL_P(4, 7));
assert(!M_KEYWORD_P(UNDERFLOW, M_SUB(1, 1)));
assert(M_KEYWORD_P(UNDERFLOW, M_SUB(1, 2)));
assert(M_KEYWORD_P(UNDERFLOW, M_SUB(1, 6)));
assert(M_KEYWORD_P(UNDERFLOW, M_SUB(1, 5)));
assert(!M_KEYWORD_P(OVERFLOW, M_ADD(M_MAX_NB_ARGUMENT, 1)));
assert(M_KEYWORD_P(OVERFLOW, M_ADD(M_MAX_NB_ARGUMENT, 2)));
assert(M_KEYWORD_P(OVERFLOW, M_ADD(M_MAX_NB_ARGUMENT, 3)));
assert(!M_KEYWORD_P(M_UNDERFLOW, M_SUB(1, 1)));
assert(M_KEYWORD_P(M_UNDERFLOW, M_SUB(1, 2)));
assert(M_KEYWORD_P(M_UNDERFLOW, M_SUB(1, 6)));
assert(M_KEYWORD_P(M_UNDERFLOW, M_SUB(1, 5)));
assert(!M_KEYWORD_P(M_OVERFLOW, M_ADD(M_MAX_NB_ARGUMENT, 1)));
assert(M_KEYWORD_P(M_OVERFLOW, M_ADD(M_MAX_NB_ARGUMENT, 2)));
assert(M_KEYWORD_P(M_OVERFLOW, M_ADD(M_MAX_NB_ARGUMENT, 3)));
}
static void test_return(void)