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:
1 parent
16e2e07d41
commit
d85df43329
3 files changed
+16
-16
No files matched your search
@@ -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).
|
Return x+y (resolution is performed at preprocessing time).
|
||||||
x, y shall be within [0..M\_MAX\_NB\_ARGUMENT].
|
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)
|
##### M\_SUB(x, y)
|
||||||
|
|
||||||
Return x-y (resolution is performed at preprocessing time).
|
Return x-y (resolution is performed at preprocessing time).
|
||||||
x, y shall be within [0..M\_MAX\_NB\_ARGUMENT].
|
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)
|
##### M\_BOOL(cond)
|
||||||
|
|
||||||
|
|||||||
@@ -443,8 +443,8 @@ M_BEGIN_PROTECTED_CODE
|
|||||||
#define M_INC_50 51
|
#define M_INC_50 51
|
||||||
#define M_INC_51 52
|
#define M_INC_51 52
|
||||||
#define M_INC_52 53
|
#define M_INC_52 53
|
||||||
#define M_INC_53 OVERFLOW
|
#define M_INC_53 M_OVERFLOW
|
||||||
#define M_INC_OVERFLOW OVERFLOW
|
#define M_INC_M_OVERFLOW M_OVERFLOW
|
||||||
|
|
||||||
|
|
||||||
/* Decrement the number given in argument (from [0..52[)
|
/* 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
|
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(x) M_C(M_DEC_, x)
|
||||||
#define M_DEC_UNDERFLOW UNDERFLOW
|
#define M_DEC_M_UNDERFLOW M_UNDERFLOW
|
||||||
#define M_DEC_0 UNDERFLOW
|
#define M_DEC_0 M_UNDERFLOW
|
||||||
#define M_DEC_1 0
|
#define M_DEC_1 0
|
||||||
#define M_DEC_2 1
|
#define M_DEC_2 1
|
||||||
#define M_DEC_3 2
|
#define M_DEC_3 2
|
||||||
@@ -1103,8 +1103,8 @@ M_BEGIN_PROTECTED_CODE
|
|||||||
#define M_PATTERN_TYPE_TYPE ,
|
#define M_PATTERN_TYPE_TYPE ,
|
||||||
#define M_PATTERN_SUBTYPE_SUBTYPE ,
|
#define M_PATTERN_SUBTYPE_SUBTYPE ,
|
||||||
#define M_PATTERN_IT_TYPE_IT_TYPE ,
|
#define M_PATTERN_IT_TYPE_IT_TYPE ,
|
||||||
#define M_PATTERN_UNDERFLOW_UNDERFLOW ,
|
#define M_PATTERN_M_UNDERFLOW_M_UNDERFLOW ,
|
||||||
#define M_PATTERN_OVERFLOW_OVERFLOW ,
|
#define M_PATTERN_M_OVERFLOW_M_OVERFLOW ,
|
||||||
|
|
||||||
|
|
||||||
/* Necessary macros to handle recursivity,
|
/* Necessary macros to handle recursivity,
|
||||||
@@ -1739,7 +1739,7 @@ M_BEGIN_PROTECTED_CODE
|
|||||||
|
|
||||||
/* Return 1 if a < b, 0 otherwise
|
/* Return 1 if a < b, 0 otherwise
|
||||||
a and b shall be in [0..M_MAX_NB_ARGUMENT] */
|
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
|
/* Return 1 if a >= b, 0 otherwise
|
||||||
a and b shall be in [0..M_MAX_NB_ARGUMENT] */
|
a and b shall be in [0..M_MAX_NB_ARGUMENT] */
|
||||||
|
|||||||
+7
-7
@@ -135,13 +135,13 @@ static void test_incdec(void)
|
|||||||
assert(!M_GREATER_OR_EQUAL_P(4, 6));
|
assert(!M_GREATER_OR_EQUAL_P(4, 6));
|
||||||
assert(!M_GREATER_OR_EQUAL_P(4, 7));
|
assert(!M_GREATER_OR_EQUAL_P(4, 7));
|
||||||
|
|
||||||
assert(!M_KEYWORD_P(UNDERFLOW, M_SUB(1, 1)));
|
assert(!M_KEYWORD_P(M_UNDERFLOW, M_SUB(1, 1)));
|
||||||
assert(M_KEYWORD_P(UNDERFLOW, M_SUB(1, 2)));
|
assert(M_KEYWORD_P(M_UNDERFLOW, M_SUB(1, 2)));
|
||||||
assert(M_KEYWORD_P(UNDERFLOW, M_SUB(1, 6)));
|
assert(M_KEYWORD_P(M_UNDERFLOW, M_SUB(1, 6)));
|
||||||
assert(M_KEYWORD_P(UNDERFLOW, M_SUB(1, 5)));
|
assert(M_KEYWORD_P(M_UNDERFLOW, M_SUB(1, 5)));
|
||||||
assert(!M_KEYWORD_P(OVERFLOW, M_ADD(M_MAX_NB_ARGUMENT, 1)));
|
assert(!M_KEYWORD_P(M_OVERFLOW, M_ADD(M_MAX_NB_ARGUMENT, 1)));
|
||||||
assert(M_KEYWORD_P(OVERFLOW, M_ADD(M_MAX_NB_ARGUMENT, 2)));
|
assert(M_KEYWORD_P(M_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_OVERFLOW, M_ADD(M_MAX_NB_ARGUMENT, 3)));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void test_return(void)
|
static void test_return(void)
|
||||||
|
|||||||
Reference in new issue
Block a user