1 #define SCHAR_MAX __SCHAR_MAX__
2 #define SCHAR_MIN (-__SCHAR_MAX__ - 1)
3 #define SHRT_MAX __SHRT_MAX__
4 #define SHRT_MIN (-__SHRT_MAX__ - 1)
5 #define INT_MAX __INT_MAX__
6 #define INT_MIN (-__INT_MAX__ - 1)
7 #define LONG_MAX __LONG_MAX__
8 #define LONG_MIN (-__LONG_MAX__ - 1)
9 #define LLONG_MAX __LONG_LONG_MAX__
10 #define LLONG_MIN (-__LONG_LONG_MAX__ - 1)
14 __attribute__((noinline
, noclone
)) void
20 #define T(n, t1, t2, tr, v1, v2, vr, b, o) \
21 __attribute__((noinline, noclone)) tr \
22 t##n##_1##b (t1 x, t2 y) \
25 if (__builtin_##b##_overflow (x, y, &r)) \
30 __attribute__((noinline, noclone)) tr \
35 if (__builtin_##b##_overflow (x, y, &r)) \
40 __attribute__((noinline, noclone)) tr \
44 if (__builtin_##b##_overflow ((t1) (v1), y, \
50 __attribute__((noinline, noclone)) tr \
55 if (__builtin_##b##_overflow (x, y, &r)) \
60 __attribute__((noinline, noclone)) tr \
64 if (__builtin_##b##_overflow (x, (t2) (v2), \
70 __attribute__((noinline, noclone)) void \
77 if (t##n##_1##b (x, y) != (tr) (vr) \
78 || t##n##_2##b (y) != (tr) (vr) \
79 || t##n##_3##b (y) != (tr) (vr) \
80 || t##n##_4##b (x) != (tr) (vr) \
81 || t##n##_5##b (x) != (tr) (vr)) \
83 if (__builtin_##b##_overflow (x, y, &r1)) \
85 if (r1 != (tr) (vr)) \
87 if (__builtin_##b##_overflow ((t1) (v1), \
90 if (r2 != (tr) (vr) || v != 7 * o) \
93 #define ST(n, t, v1, v2, vr, b, o) \
94 T (n, t, t, t, v1, v2, vr, b, o)