From d85df433294a9a52543bb5c5d8bf7c8604c8a1f0 Mon Sep 17 00:00:00 2001 From: Patrick Pelissier Date: Sun, 7 Feb 2021 09:36:00 +0100 Subject: [PATCH] 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. --- README.md | 4 ++-- m-core.h | 14 +++++++------- tests/test-mcore.c | 14 +++++++------- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 14467bce..63acae93 100644 --- a/README.md +++ b/README.md @@ -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) diff --git a/m-core.h b/m-core.h index a35ee461..625d9786 100644 --- a/m-core.h +++ b/m-core.h @@ -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] */ diff --git a/tests/test-mcore.c b/tests/test-mcore.c index 72ec968c..e058a42b 100644 --- a/tests/test-mcore.c +++ b/tests/test-mcore.c @@ -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)