28#ifndef THE_T_TEST_FRAMEWORK_H
29#define THE_T_TEST_FRAMEWORK_H
38#include <rtems/score/cpu.h>
62 void (*setup)(
void *);
64 void (*teardown)(
void *);
65 void *initial_context;
68#define T_ARRAY_SIZE(array) (sizeof(array) / sizeof((array)[0]))
75#define T_FILE_NAME __FILE__
99#define T_CHECK_STOP 1U
101#define T_CHECK_QUIET 2U
103#define T_CHECK_STEP_FLAG 4U
105#define T_CHECK_STEP_TO_FLAGS(step) ((unsigned int)(step) << 8)
107#define T_CHECK_STEP_FROM_FLAGS(flags) ((flags) >> 8)
109#define T_CHECK_STEP(step) (T_CHECK_STEP_TO_FLAGS(step) | T_CHECK_STEP_FLAG)
124#define T_flags_true(a, flags, ...) \
126 static const T_check_context T_check_instance = { \
127 T_FILE_NAME, __LINE__, flags }; \
128 T_check_true(a, &T_check_instance, __VA_ARGS__); \
131#define T_flags_eq(a, e, flags, ...) \
132 T_flags_true((a) == (e), flags, __VA_ARGS__)
134#define T_flags_ne(a, e, flags, ...) \
135 T_flags_true((a) != (e), flags, __VA_ARGS__)
139#define T_flags_eq_ptr(a, e, flags, sa, se) \
141 static const T_check_context_msg T_check_instance = { \
142 { T_FILE_NAME, __LINE__, flags }, sa " == " se }; \
143 T_check_eq_ptr(a, &T_check_instance, e); \
148#define T_flags_ne_ptr(a, e, flags, sa, se) \
150 static const T_check_context_msg T_check_instance = { \
151 { T_FILE_NAME, __LINE__, flags }, sa " != " se }; \
152 T_check_ne_ptr(a, &T_check_instance, e); \
157#define T_flags_null(a, flags, sa) \
159 static const T_check_context_msg T_check_instance = { \
160 { T_FILE_NAME, __LINE__, flags }, sa }; \
161 T_check_null(a, &T_check_instance); \
166#define T_flags_not_null(a, flags, sa) \
168 static const T_check_context_msg T_check_instance = { \
169 { T_FILE_NAME, __LINE__, flags }, sa }; \
170 T_check_not_null(a, &T_check_instance); \
176#define T_flags_eq_mem(a, e, n, flags, sa, se, sn) \
178 static const T_check_context_msg T_check_instance = { \
179 { T_FILE_NAME, __LINE__, flags }, \
180 "memcmp(" sa ", " se ", " sn ") == 0" }; \
181 T_check_eq_mem(a, &T_check_instance, e, n); \
187#define T_flags_ne_mem(a, e, n, flags, sa, se, sn) \
189 static const T_check_context_msg T_check_instance = { \
190 { T_FILE_NAME, __LINE__, flags }, \
191 "memcmp(" sa ", " se ", " sn ") != 0" }; \
192 T_check_ne_mem(a, &T_check_instance, e, n); \
195void T_check_eq_str(
const char *,
const T_check_context *,
const char *);
197#define T_flags_eq_str(a, e, flags) \
199 static const T_check_context T_check_instance = { \
200 T_FILE_NAME, __LINE__, flags }; \
201 T_check_eq_str(a, &T_check_instance, e); \
204void T_check_ne_str(
const char *,
const T_check_context *,
const char *);
206#define T_flags_ne_str(a, e, flags) \
208 static const T_check_context T_check_instance = { \
209 T_FILE_NAME, __LINE__, flags }; \
210 T_check_ne_str(a, &T_check_instance, e); \
213void T_check_eq_nstr(
const char *,
const T_check_context *,
const char *,
216#define T_flags_eq_nstr(a, e, n, flags) \
218 static const T_check_context T_check_instance = { \
219 T_FILE_NAME, __LINE__, flags }; \
220 T_check_eq_nstr(a, &T_check_instance, e, n); \
223void T_check_ne_nstr(
const char *,
const T_check_context *,
const char *,
226#define T_flags_ne_nstr(a, e, n, flags) \
228 static const T_check_context T_check_instance = { \
229 T_FILE_NAME, __LINE__, flags }; \
230 T_check_ne_nstr(a, &T_check_instance, e, n); \
235#define T_flags_eq_char(a, e, flags) \
237 static const T_check_context T_check_instance = { \
238 T_FILE_NAME, __LINE__, flags }; \
239 T_check_eq_char(a, &T_check_instance, e); \
244#define T_flags_ne_char(a, e, flags) \
246 static const T_check_context T_check_instance = { \
247 T_FILE_NAME, __LINE__, flags }; \
248 T_check_ne_char(a, &T_check_instance, e); \
253#define T_flags_eq_int(a, e, flags) \
255 static const T_check_context T_check_instance = { \
256 T_FILE_NAME, __LINE__, flags }; \
257 T_check_eq_int(a, &T_check_instance, e); \
262#define T_flags_ne_int(a, e, flags) \
264 static const T_check_context T_check_instance = { \
265 T_FILE_NAME, __LINE__, flags }; \
266 T_check_ne_int(a, &T_check_instance, e); \
271#define T_flags_ge_int(a, e, flags) \
273 static const T_check_context T_check_instance = { \
274 T_FILE_NAME, __LINE__, flags }; \
275 T_check_ge_int(a, &T_check_instance, e); \
280#define T_flags_gt_int(a, e, flags) \
282 static const T_check_context T_check_instance = { \
283 T_FILE_NAME, __LINE__, flags }; \
284 T_check_gt_int(a, &T_check_instance, e); \
289#define T_flags_le_int(a, e, flags) \
291 static const T_check_context T_check_instance = { \
292 T_FILE_NAME, __LINE__, flags }; \
293 T_check_le_int(a, &T_check_instance, e); \
298#define T_flags_lt_int(a, e, flags) \
300 static const T_check_context T_check_instance = { \
301 T_FILE_NAME, __LINE__, flags }; \
302 T_check_lt_int(a, &T_check_instance, e); \
305void T_check_eq_uint(
unsigned int,
const T_check_context *,
unsigned int);
307#define T_flags_eq_uint(a, e, flags) \
309 static const T_check_context T_check_instance = { \
310 T_FILE_NAME, __LINE__, flags }; \
311 T_check_eq_uint(a, &T_check_instance, e); \
314void T_check_ne_uint(
unsigned int,
const T_check_context *,
unsigned int);
316#define T_flags_ne_uint(a, e, flags) \
318 static const T_check_context T_check_instance = { \
319 T_FILE_NAME, __LINE__, flags }; \
320 T_check_ne_uint(a, &T_check_instance, e); \
323void T_check_ge_uint(
unsigned int,
const T_check_context *,
unsigned int);
325#define T_flags_ge_uint(a, e, flags) \
327 static const T_check_context T_check_instance = { \
328 T_FILE_NAME, __LINE__, flags }; \
329 T_check_ge_uint(a, &T_check_instance, e); \
332void T_check_gt_uint(
unsigned int,
const T_check_context *,
unsigned int);
334#define T_flags_gt_uint(a, e, flags) \
336 static const T_check_context T_check_instance = { \
337 T_FILE_NAME, __LINE__, flags }; \
338 T_check_gt_uint(a, &T_check_instance, e); \
341void T_check_le_uint(
unsigned int,
const T_check_context *,
unsigned int);
343#define T_flags_le_uint(a, e, flags) \
345 static const T_check_context T_check_instance = { \
346 T_FILE_NAME, __LINE__, flags }; \
347 T_check_le_uint(a, &T_check_instance, e); \
350void T_check_lt_uint(
unsigned int,
const T_check_context *,
unsigned int);
352#define T_flags_lt_uint(a, e, flags) \
354 static const T_check_context T_check_instance = { \
355 T_FILE_NAME, __LINE__, flags }; \
356 T_check_lt_uint(a, &T_check_instance, e); \
361#define T_flags_eq_long(a, e, flags) \
363 static const T_check_context T_check_instance = { \
364 T_FILE_NAME, __LINE__, flags }; \
365 T_check_eq_long(a, &T_check_instance, e); \
370#define T_flags_ne_long(a, e, flags) \
372 static const T_check_context T_check_instance = { \
373 T_FILE_NAME, __LINE__, flags }; \
374 T_check_ne_long(a, &T_check_instance, e); \
379#define T_flags_ge_long(a, e, flags) \
381 static const T_check_context T_check_instance = { \
382 T_FILE_NAME, __LINE__, flags }; \
383 T_check_ge_long(a, &T_check_instance, e); \
388#define T_flags_gt_long(a, e, flags) \
390 static const T_check_context T_check_instance = { \
391 T_FILE_NAME, __LINE__, flags }; \
392 T_check_gt_long(a, &T_check_instance, e); \
397#define T_flags_le_long(a, e, flags) \
399 static const T_check_context T_check_instance = { \
400 T_FILE_NAME, __LINE__, flags }; \
401 T_check_le_long(a, &T_check_instance, e); \
406#define T_flags_lt_long(a, e, flags) \
408 static const T_check_context T_check_instance = { \
409 T_FILE_NAME, __LINE__, flags }; \
410 T_check_lt_long(a, &T_check_instance, e); \
413void T_check_eq_ulong(
unsigned long,
const T_check_context *,
unsigned long);
415#define T_flags_eq_ulong(a, e, flags) \
417 static const T_check_context T_check_instance = { \
418 T_FILE_NAME, __LINE__, flags }; \
419 T_check_eq_ulong(a, &T_check_instance, e); \
422void T_check_ne_ulong(
unsigned long,
const T_check_context *,
unsigned long);
424#define T_flags_ne_ulong(a, e, flags) \
426 static const T_check_context T_check_instance = { \
427 T_FILE_NAME, __LINE__, flags }; \
428 T_check_ne_ulong(a, &T_check_instance, e); \
431void T_check_ge_ulong(
unsigned long,
const T_check_context *,
unsigned long);
433#define T_flags_ge_ulong(a, e, flags) \
435 static const T_check_context T_check_instance = { \
436 T_FILE_NAME, __LINE__, flags }; \
437 T_check_ge_ulong(a, &T_check_instance, e); \
440void T_check_gt_ulong(
unsigned long,
const T_check_context *,
unsigned long);
442#define T_flags_gt_ulong(a, e, flags) \
444 static const T_check_context T_check_instance = { \
445 T_FILE_NAME, __LINE__, flags }; \
446 T_check_gt_ulong(a, &T_check_instance, e); \
449void T_check_le_ulong(
unsigned long,
const T_check_context *,
unsigned long);
451#define T_flags_le_ulong(a, e, flags) \
453 static const T_check_context T_check_instance = { \
454 T_FILE_NAME, __LINE__, flags }; \
455 T_check_le_ulong(a, &T_check_instance, e); \
458void T_check_lt_ulong(
unsigned long,
const T_check_context *,
unsigned long);
460#define T_flags_lt_ulong(a, e, flags) \
462 static const T_check_context T_check_instance = { \
463 T_FILE_NAME, __LINE__, flags }; \
464 T_check_lt_ulong(a, &T_check_instance, e); \
469#define T_flags_eq_ll(a, e, flags) \
471 static const T_check_context T_check_instance = { \
472 T_FILE_NAME, __LINE__, flags }; \
473 T_check_eq_ll(a, &T_check_instance, e); \
478#define T_flags_ne_ll(a, e, flags) \
480 static const T_check_context T_check_instance = { \
481 T_FILE_NAME, __LINE__, flags }; \
482 T_check_ne_ll(a, &T_check_instance, e); \
487#define T_flags_ge_ll(a, e, flags) \
489 static const T_check_context T_check_instance = { \
490 T_FILE_NAME, __LINE__, flags }; \
491 T_check_ge_ll(a, &T_check_instance, e); \
496#define T_flags_gt_ll(a, e, flags) \
498 static const T_check_context T_check_instance = { \
499 T_FILE_NAME, __LINE__, flags }; \
500 T_check_gt_ll(a, &T_check_instance, e); \
505#define T_flags_le_ll(a, e, flags) \
507 static const T_check_context T_check_instance = { \
508 T_FILE_NAME, __LINE__, flags }; \
509 T_check_le_ll(a, &T_check_instance, e); \
514#define T_flags_lt_ll(a, e, flags) \
516 static const T_check_context T_check_instance = { \
517 T_FILE_NAME, __LINE__, flags }; \
518 T_check_lt_ll(a, &T_check_instance, e); \
524#define T_flags_eq_ull(a, e, flags) \
526 static const T_check_context T_check_instance = { \
527 T_FILE_NAME, __LINE__, flags }; \
528 T_check_eq_ull(a, &T_check_instance, e); \
534#define T_flags_ne_ull(a, e, flags) \
536 static const T_check_context T_check_instance = { \
537 T_FILE_NAME, __LINE__, flags }; \
538 T_check_ne_ull(a, &T_check_instance, e); \
544#define T_flags_ge_ull(a, e, flags) \
546 static const T_check_context T_check_instance = { \
547 T_FILE_NAME, __LINE__, flags }; \
548 T_check_ge_ull(a, &T_check_instance, e); \
554#define T_flags_gt_ull(a, e, flags) \
556 static const T_check_context T_check_instance = { \
557 T_FILE_NAME, __LINE__, flags }; \
558 T_check_gt_ull(a, &T_check_instance, e); \
564#define T_flags_le_ull(a, e, flags) \
566 static const T_check_context T_check_instance = { \
567 T_FILE_NAME, __LINE__, flags }; \
568 T_check_le_ull(a, &T_check_instance, e); \
574#define T_flags_lt_ull(a, e, flags) \
576 static const T_check_context T_check_instance = { \
577 T_FILE_NAME, __LINE__, flags }; \
578 T_check_lt_ull(a, &T_check_instance, e); \
583#define T_flags_eno(a, e, flags) \
585 static const T_check_context T_check_instance = { \
586 T_FILE_NAME, __LINE__, flags }; \
587 T_check_eno(a, &T_check_instance, e); \
592#define T_flags_eno_success(a, flags) \
594 static const T_check_context T_check_instance = { \
595 T_FILE_NAME, __LINE__, flags }; \
596 T_check_eno_success(a, &T_check_instance); \
601#define T_flags_psx_error(a, eno, flags) \
603 static const T_check_context T_check_instance = { \
604 T_FILE_NAME, __LINE__, flags }; \
605 T_check_psx_error(a, &T_check_instance, eno); \
610#define T_flags_psx_success(a, flags) \
612 static const T_check_context T_check_instance = { \
613 T_FILE_NAME, __LINE__, flags }; \
614 T_check_psx_success(a, &T_check_instance); \
619int T_printf(
char const *, ...);
621int T_vprintf(
char const *, va_list);
623int T_snprintf(
char *,
size_t,
const char *, ...);
625void T_log(T_verbosity,
char const *, ...);
627const char *T_case_name(
void);
629T_verbosity T_set_verbosity(T_verbosity);
641#define T_true(a, ...) T_flags_true(a, 0, __VA_ARGS__)
642#define T_assert_true(a, ...) T_flags_true(a, T_CHECK_STOP, __VA_ARGS__)
643#define T_quiet_true(a, ...) T_flags_true(a, T_CHECK_QUIET, __VA_ARGS__)
644#define T_step_true(s, a, ...) T_flags_true(a, T_CHECK_STEP(s), __VA_ARGS__)
645#define T_step_assert_true(s, a, ...) \
646 T_flags_true(a, T_CHECK_STEP(s) | T_CHECK_STOP, __VA_ARGS__)
648#define T_false(a, ...) T_flags_true(!(a), 0, __VA_ARGS__)
649#define T_assert_false(a, ...) T_flags_true(!(a), T_CHECK_STOP, __VA_ARGS__)
650#define T_quiet_false(a, ...) T_flags_true(!(a), T_CHECK_QUIET, __VA_ARGS__)
651#define T_step_false(s, a, ...) T_flags_true(!(a), T_CHECK_STEP(s), __VA_ARGS__)
652#define T_step_assert_false(s, a, ...) \
653 T_flags_true(!(a), T_CHECK_STEP(s) | T_CHECK_STOP, __VA_ARGS__)
667#define T_eq(a, e, ...) T_flags_eq(a, e, 0, __VA_ARGS__)
668#define T_assert_eq(a, e, ...) T_flags_eq(a, e, T_CHECK_STOP, __VA_ARGS__)
669#define T_quiet_eq(a, e, ...) T_flags_eq(a, e, T_CHECK_QUIET, __VA_ARGS__)
670#define T_step_eq(s, a, e, ...) T_flags_eq(a, e, T_CHECK_STEP(s), __VA_ARGS__)
671#define T_step_assert_eq(s, a, e, ...) \
672 T_flags_eq(a, e, T_CHECK_STEP(s) | T_CHECK_STOP, __VA_ARGS__)
674#define T_ne(a, e, ...) T_flags_ne(a, e, 0, __VA_ARGS__)
675#define T_assert_ne(a, e, ...) T_flags_ne(a, e, T_CHECK_STOP, __VA_ARGS__)
676#define T_quiet_ne(a, e, ...) T_flags_ne(a, e, T_CHECK_QUIET, __VA_ARGS__)
677#define T_step_ne(s, a, e, ...) T_flags_ne(a, e, T_CHECK_STEP(s), __VA_ARGS__)
678#define T_step_assert_ne(s, a, e, ...) \
679 T_flags_ne(a, e, T_CHECK_STEP(s) | T_CHECK_STOP, __VA_ARGS__)
693#define T_eq_ptr(a, e) T_flags_eq_ptr(a, e, 0, #a, #e)
694#define T_assert_eq_ptr(a, e) T_flags_eq_ptr(a, e, T_CHECK_STOP, #a, #e)
695#define T_quiet_eq_ptr(a, e) T_flags_eq_ptr(a, e, T_CHECK_QUIET, #a, #e)
696#define T_step_eq_ptr(s, a, e) T_flags_eq_ptr(a, e, T_CHECK_STEP(s), #a, #e)
697#define T_step_assert_eq_ptr(s, a, e) \
698 T_flags_eq_ptr(a, e, T_CHECK_STEP(s) | T_CHECK_STOP, #a, #e)
700#define T_ne_ptr(a, e) T_flags_ne_ptr(a, e, 0, #a, #e)
701#define T_assert_ne_ptr(a, e) T_flags_ne_ptr(a, e, T_CHECK_STOP, #a, #e)
702#define T_quiet_ne_ptr(a, e) T_flags_ne_ptr(a, e, T_CHECK_QUIET, #a, #e)
703#define T_step_ne_ptr(s, a, e) T_flags_ne_ptr(a, e, T_CHECK_STEP(s), #a, #e)
704#define T_step_assert_ne_ptr(s, a, e) \
705 T_flags_ne_ptr(a, e, T_CHECK_STEP(s) | T_CHECK_STOP, #a, #e)
707#define T_null(a) T_flags_null(a, 0, #a)
708#define T_assert_null(a) T_flags_null(a, T_CHECK_STOP, #a)
709#define T_quiet_null(a) T_flags_null(a, T_CHECK_QUIET, #a)
710#define T_step_null(s, a) T_flags_null(a, T_CHECK_STEP(s), #a)
711#define T_step_assert_null(s, a) \
712 T_flags_null(a, T_CHECK_STEP(s) | T_CHECK_STOP, #a)
714#define T_not_null(a) T_flags_not_null(a, 0, #a)
715#define T_assert_not_null(a) T_flags_not_null(a, T_CHECK_STOP, #a)
716#define T_quiet_not_null(a) T_flags_not_null(a, T_CHECK_QUIET, #a)
717#define T_step_not_null(s, a) T_flags_not_null(a, T_CHECK_STEP(s), #a)
718#define T_step_assert_not_null(s, a) \
719 T_flags_not_null(a, T_CHECK_STEP(s) | T_CHECK_STOP, #a)
733#define T_eq_mem(a, e, n) T_flags_eq_mem(a, e, n, 0, #a, #e, #n)
734#define T_assert_eq_mem(a, e, n) \
735 T_flags_eq_mem(a, e, n, T_CHECK_STOP, #a, #e, #n)
736#define T_quiet_eq_mem(a, e, n) \
737 T_flags_eq_mem(a, e, n, T_CHECK_QUIET, #a, #e, #n)
738#define T_step_eq_mem(s, a, e, n) \
739 T_flags_eq_mem(a, e, n, T_CHECK_STEP(s), #a, #e, #n)
740#define T_step_assert_eq_mem(s, a, e, n) \
741 T_flags_eq_mem(a, e, n, T_CHECK_STEP(s) | T_CHECK_STOP, #a, #e, #n)
743#define T_ne_mem(a, e, n) T_flags_ne_mem(a, e, n, 0, #a, #e, #n)
744#define T_assert_ne_mem(a, e, n) \
745 T_flags_ne_mem(a, e, n, T_CHECK_STOP, #a, #e, #n)
746#define T_quiet_ne_mem(a, e, n) \
747 T_flags_ne_mem(a, e, n, T_CHECK_QUIET, #a, #e, #n)
748#define T_step_ne_mem(s, a, e, n) \
749 T_flags_ne_mem(a, e, n, T_CHECK_STEP(s), #a, #e, #n)
750#define T_step_assert_ne_mem(s, a, e, n) \
751 T_flags_ne_mem(a, e, n, T_CHECK_STEP(s) | T_CHECK_STOP, #a, #e, #n)
766#define T_eq_str(a, e) T_flags_eq_str(a, e, 0)
767#define T_assert_eq_str(a, e) T_flags_eq_str(a, e, T_CHECK_STOP)
768#define T_quiet_eq_str(a, e) T_flags_eq_str(a, e, T_CHECK_QUIET)
769#define T_step_eq_str(s, a, e) T_flags_eq_str(a, e, T_CHECK_STEP(s))
770#define T_step_assert_eq_str(s, a, e) \
771 T_flags_eq_str(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
773#define T_ne_str(a, e) T_flags_ne_str(a, e, 0)
774#define T_assert_ne_str(a, e) T_flags_ne_str(a, e, T_CHECK_STOP)
775#define T_quiet_ne_str(a, e) T_flags_ne_str(a, e, T_CHECK_QUIET)
776#define T_step_ne_str(s, a, e) T_flags_ne_str(a, e, T_CHECK_STEP(s))
777#define T_step_assert_ne_str(s, a, e) \
778 T_flags_ne_str(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
780#define T_eq_nstr(a, e, n) T_flags_eq_nstr(a, e, n, 0)
781#define T_assert_eq_nstr(a, e, n) T_flags_eq_nstr(a, e, n, T_CHECK_STOP)
782#define T_quiet_eq_nstr(a, e, n) T_flags_eq_nstr(a, e, n, T_CHECK_QUIET)
783#define T_step_eq_nstr(s, a, e, n) T_flags_eq_nstr(a, e, n, T_CHECK_STEP(s))
784#define T_step_assert_eq_nstr(s, a, e, n) \
785 T_flags_eq_nstr(a, e, n, T_CHECK_STEP(s) | T_CHECK_STOP)
787#define T_ne_nstr(a, e, n) T_flags_ne_nstr(a, e, n, 0)
788#define T_assert_ne_nstr(a, e, n) T_flags_ne_nstr(a, e, n, T_CHECK_STOP)
789#define T_quiet_ne_nstr(a, e, n) T_flags_ne_nstr(a, e, n, T_CHECK_QUIET)
790#define T_step_ne_nstr(s, a, e, n) T_flags_ne_nstr(a, e, n, T_CHECK_STEP(s))
791#define T_step_assert_ne_nstr(s, a, e, n) \
792 T_flags_ne_nstr(a, e, n, T_CHECK_STEP(s) | T_CHECK_STOP)
806#define T_eq_char(a, e) T_flags_eq_char(a, e, 0)
807#define T_assert_eq_char(a, e) T_flags_eq_char(a, e, T_CHECK_STOP)
808#define T_quiet_eq_char(a, e) T_flags_eq_char(a, e, T_CHECK_QUIET)
809#define T_step_eq_char(s, a, e) T_flags_eq_char(a, e, T_CHECK_STEP(s))
810#define T_step_assert_eq_char(s, a, e) \
811 T_flags_eq_char(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
813#define T_ne_char(a, e) T_flags_ne_char(a, e, 0)
814#define T_assert_ne_char(a, e) T_flags_ne_char(a, e, T_CHECK_STOP)
815#define T_quiet_ne_char(a, e) T_flags_ne_char(a, e, T_CHECK_QUIET)
816#define T_step_ne_char(s, a, e) T_flags_ne_char(a, e, T_CHECK_STEP(s))
817#define T_step_assert_ne_char(s, a, e) \
818 T_flags_ne_char(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
832#define T_eq_schar(a, e) T_flags_eq_int(a, e, 0)
833#define T_assert_eq_schar(a, e) T_flags_eq_int(a, e, T_CHECK_STOP)
834#define T_quiet_eq_schar(a, e) T_flags_eq_int(a, e, T_CHECK_QUIET)
835#define T_step_eq_schar(s, a, e) T_flags_eq_int(a, e, T_CHECK_STEP(s))
836#define T_step_assert_eq_schar(s, a, e) \
837 T_flags_eq_int(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
839#define T_ne_schar(a, e) T_flags_ne_int(a, e, 0)
840#define T_assert_ne_schar(a, e) T_flags_ne_int(a, e, T_CHECK_STOP)
841#define T_quiet_ne_schar(a, e) T_flags_ne_int(a, e, T_CHECK_QUIET)
842#define T_step_ne_schar(s, a, e) T_flags_ne_int(a, e, T_CHECK_STEP(s))
843#define T_step_assert_ne_schar(s, a, e) \
844 T_flags_ne_int(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
846#define T_ge_schar(a, e) T_flags_ge_int(a, e, 0)
847#define T_assert_ge_schar(a, e) T_flags_ge_int(a, e, T_CHECK_STOP)
848#define T_quiet_ge_schar(a, e) T_flags_ge_int(a, e, T_CHECK_QUIET)
849#define T_step_ge_schar(s, a, e) T_flags_ge_int(a, e, T_CHECK_STEP(s))
850#define T_step_assert_ge_schar(s, a, e) \
851 T_flags_ge_int(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
853#define T_gt_schar(a, e) T_flags_gt_int(a, e, 0)
854#define T_assert_gt_schar(a, e) T_flags_gt_int(a, e, T_CHECK_STOP)
855#define T_quiet_gt_schar(a, e) T_flags_gt_int(a, e, T_CHECK_QUIET)
856#define T_step_gt_schar(s, a, e) T_flags_gt_int(a, e, T_CHECK_STEP(s))
857#define T_step_assert_gt_schar(s, a, e) \
858 T_flags_gt_int(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
860#define T_le_schar(a, e) T_flags_le_int(a, e, 0)
861#define T_assert_le_schar(a, e) T_flags_le_int(a, e, T_CHECK_STOP)
862#define T_quiet_le_schar(a, e) T_flags_le_int(a, e, T_CHECK_QUIET)
863#define T_step_le_schar(s, a, e) T_flags_le_int(a, e, T_CHECK_STEP(s))
864#define T_step_assert_le_schar(s, a, e) \
865 T_flags_le_int(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
867#define T_lt_schar(a, e) T_flags_lt_int(a, e, 0)
868#define T_assert_lt_schar(a, e) T_flags_lt_int(a, e, T_CHECK_STOP)
869#define T_quiet_lt_schar(a, e) T_flags_lt_int(a, e, T_CHECK_QUIET)
870#define T_step_lt_schar(s, a, e) T_flags_lt_int(a, e, T_CHECK_STEP(s))
871#define T_step_assert_lt_schar(s, a, e) \
872 T_flags_lt_int(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
886#define T_eq_uchar(a, e) T_flags_eq_uint(a, e, 0)
887#define T_assert_eq_uchar(a, e) T_flags_eq_uint(a, e, T_CHECK_STOP)
888#define T_quiet_eq_uchar(a, e) T_flags_eq_uint(a, e, T_CHECK_QUIET)
889#define T_step_eq_uchar(s, a, e) T_flags_eq_uint(a, e, T_CHECK_STEP(s))
890#define T_step_assert_eq_uchar(s, a, e) \
891 T_flags_eq_uint(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
893#define T_ne_uchar(a, e) T_flags_ne_uint(a, e, 0)
894#define T_assert_ne_uchar(a, e) T_flags_ne_uint(a, e, T_CHECK_STOP)
895#define T_quiet_ne_uchar(a, e) T_flags_ne_uint(a, e, T_CHECK_QUIET)
896#define T_step_ne_uchar(s, a, e) T_flags_ne_uint(a, e, T_CHECK_STEP(s))
897#define T_step_assert_ne_uchar(s, a, e) \
898 T_flags_ne_uint(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
900#define T_ge_uchar(a, e) T_flags_ge_uint(a, e, 0)
901#define T_assert_ge_uchar(a, e) T_flags_ge_uint(a, e, T_CHECK_STOP)
902#define T_quiet_ge_uchar(a, e) T_flags_ge_uint(a, e, T_CHECK_QUIET)
903#define T_step_ge_uchar(s, a, e) T_flags_ge_uint(a, e, T_CHECK_STEP(s))
904#define T_step_assert_ge_uchar(s, a, e) \
905 T_flags_ge_uint(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
907#define T_gt_uchar(a, e) T_flags_gt_uint(a, e, 0)
908#define T_assert_gt_uchar(a, e) T_flags_gt_uint(a, e, T_CHECK_STOP)
909#define T_quiet_gt_uchar(a, e) T_flags_gt_uint(a, e, T_CHECK_QUIET)
910#define T_step_gt_uchar(s, a, e) T_flags_gt_uint(a, e, T_CHECK_STEP(s))
911#define T_step_assert_gt_uchar(s, a, e) \
912 T_flags_gt_uint(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
914#define T_le_uchar(a, e) T_flags_le_uint(a, e, 0)
915#define T_assert_le_uchar(a, e) T_flags_le_uint(a, e, T_CHECK_STOP)
916#define T_quiet_le_uchar(a, e) T_flags_le_uint(a, e, T_CHECK_QUIET)
917#define T_step_le_uchar(s, a, e) T_flags_le_uint(a, e, T_CHECK_STEP(s))
918#define T_step_assert_le_uchar(s, a, e) \
919 T_flags_le_uint(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
921#define T_lt_uchar(a, e) T_flags_lt_uint(a, e, 0)
922#define T_assert_lt_uchar(a, e) T_flags_lt_uint(a, e, T_CHECK_STOP)
923#define T_quiet_lt_uchar(a, e) T_flags_lt_uint(a, e, T_CHECK_QUIET)
924#define T_step_lt_uchar(s, a, e) T_flags_lt_uint(a, e, T_CHECK_STEP(s))
925#define T_step_assert_lt_uchar(s, a, e) \
926 T_flags_lt_uint(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
940#define T_eq_short(a, e) T_flags_eq_int(a, e, 0)
941#define T_assert_eq_short(a, e) T_flags_eq_int(a, e, T_CHECK_STOP)
942#define T_quiet_eq_short(a, e) T_flags_eq_int(a, e, T_CHECK_QUIET)
943#define T_step_eq_short(s, a, e) T_flags_eq_int(a, e, T_CHECK_STEP(s))
944#define T_step_assert_eq_short(s, a, e) \
945 T_flags_eq_int(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
947#define T_ne_short(a, e) T_flags_ne_int(a, e, 0)
948#define T_assert_ne_short(a, e) T_flags_ne_int(a, e, T_CHECK_STOP)
949#define T_quiet_ne_short(a, e) T_flags_ne_int(a, e, T_CHECK_QUIET)
950#define T_step_ne_short(s, a, e) T_flags_ne_int(a, e, T_CHECK_STEP(s))
951#define T_step_assert_ne_short(s, a, e) \
952 T_flags_ne_int(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
954#define T_ge_short(a, e) T_flags_ge_int(a, e, 0)
955#define T_assert_ge_short(a, e) T_flags_ge_int(a, e, T_CHECK_STOP)
956#define T_quiet_ge_short(a, e) T_flags_ge_int(a, e, T_CHECK_QUIET)
957#define T_step_ge_short(s, a, e) T_flags_ge_int(a, e, T_CHECK_STEP(s))
958#define T_step_assert_ge_short(s, a, e) \
959 T_flags_ge_int(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
961#define T_gt_short(a, e) T_flags_gt_int(a, e, 0)
962#define T_assert_gt_short(a, e) T_flags_gt_int(a, e, T_CHECK_STOP)
963#define T_quiet_gt_short(a, e) T_flags_gt_int(a, e, T_CHECK_QUIET)
964#define T_step_gt_short(s, a, e) T_flags_gt_int(a, e, T_CHECK_STEP(s))
965#define T_step_assert_gt_short(s, a, e) \
966 T_flags_gt_int(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
968#define T_le_short(a, e) T_flags_le_int(a, e, 0)
969#define T_assert_le_short(a, e) T_flags_le_int(a, e, T_CHECK_STOP)
970#define T_quiet_le_short(a, e) T_flags_le_int(a, e, T_CHECK_QUIET)
971#define T_step_le_short(s, a, e) T_flags_le_int(a, e, T_CHECK_STEP(s))
972#define T_step_assert_le_short(s, a, e) \
973 T_flags_le_int(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
975#define T_lt_short(a, e) T_flags_lt_int(a, e, 0)
976#define T_assert_lt_short(a, e) T_flags_lt_int(a, e, T_CHECK_STOP)
977#define T_quiet_lt_short(a, e) T_flags_lt_int(a, e, T_CHECK_QUIET)
978#define T_step_lt_short(s, a, e) T_flags_lt_int(a, e, T_CHECK_STEP(s))
979#define T_step_assert_lt_short(s, a, e) \
980 T_flags_lt_int(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
994#define T_eq_ushort(a, e) T_flags_eq_uint(a, e, 0)
995#define T_assert_eq_ushort(a, e) T_flags_eq_uint(a, e, T_CHECK_STOP)
996#define T_quiet_eq_ushort(a, e) T_flags_eq_uint(a, e, T_CHECK_QUIET)
997#define T_step_eq_ushort(s, a, e) T_flags_eq_uint(a, e, T_CHECK_STEP(s))
998#define T_step_assert_eq_ushort(s, a, e) \
999 T_flags_eq_uint(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1001#define T_ne_ushort(a, e) T_flags_ne_uint(a, e, 0)
1002#define T_assert_ne_ushort(a, e) T_flags_ne_uint(a, e, T_CHECK_STOP)
1003#define T_quiet_ne_ushort(a, e) T_flags_ne_uint(a, e, T_CHECK_QUIET)
1004#define T_step_ne_ushort(s, a, e) T_flags_ne_uint(a, e, T_CHECK_STEP(s))
1005#define T_step_assert_ne_ushort(s, a, e) \
1006 T_flags_ne_uint(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1008#define T_ge_ushort(a, e) T_flags_ge_uint(a, e, 0)
1009#define T_assert_ge_ushort(a, e) T_flags_ge_uint(a, e, T_CHECK_STOP)
1010#define T_quiet_ge_ushort(a, e) T_flags_ge_uint(a, e, T_CHECK_QUIET)
1011#define T_step_ge_ushort(s, a, e) T_flags_ge_uint(a, e, T_CHECK_STEP(s))
1012#define T_step_assert_ge_ushort(s, a, e) \
1013 T_flags_ge_uint(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1015#define T_gt_ushort(a, e) T_flags_gt_uint(a, e, 0)
1016#define T_assert_gt_ushort(a, e) T_flags_gt_uint(a, e, T_CHECK_STOP)
1017#define T_quiet_gt_ushort(a, e) T_flags_gt_uint(a, e, T_CHECK_QUIET)
1018#define T_step_gt_ushort(s, a, e) T_flags_gt_uint(a, e, T_CHECK_STEP(s))
1019#define T_step_assert_gt_ushort(s, a, e) \
1020 T_flags_gt_uint(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1022#define T_le_ushort(a, e) T_flags_le_uint(a, e, 0)
1023#define T_assert_le_ushort(a, e) T_flags_le_uint(a, e, T_CHECK_STOP)
1024#define T_quiet_le_ushort(a, e) T_flags_le_uint(a, e, T_CHECK_QUIET)
1025#define T_step_le_ushort(s, a, e) T_flags_le_uint(a, e, T_CHECK_STEP(s))
1026#define T_step_assert_le_ushort(s, a, e) \
1027 T_flags_le_uint(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1029#define T_lt_ushort(a, e) T_flags_lt_uint(a, e, 0)
1030#define T_assert_lt_ushort(a, e) T_flags_lt_uint(a, e, T_CHECK_STOP)
1031#define T_quiet_lt_ushort(a, e) T_flags_lt_uint(a, e, T_CHECK_QUIET)
1032#define T_step_lt_ushort(s, a, e) T_flags_lt_uint(a, e, T_CHECK_STEP(s))
1033#define T_step_assert_lt_ushort(s, a, e) \
1034 T_flags_lt_uint(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1048#define T_eq_int(a, e) T_flags_eq_int(a, e, 0)
1049#define T_assert_eq_int(a, e) T_flags_eq_int(a, e, T_CHECK_STOP)
1050#define T_quiet_eq_int(a, e) T_flags_eq_int(a, e, T_CHECK_QUIET)
1051#define T_step_eq_int(s, a, e) T_flags_eq_int(a, e, T_CHECK_STEP(s))
1052#define T_step_assert_eq_int(s, a, e) \
1053 T_flags_eq_int(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1055#define T_ne_int(a, e) T_flags_ne_int(a, e, 0)
1056#define T_assert_ne_int(a, e) T_flags_ne_int(a, e, T_CHECK_STOP)
1057#define T_quiet_ne_int(a, e) T_flags_ne_int(a, e, T_CHECK_QUIET)
1058#define T_step_ne_int(s, a, e) T_flags_ne_int(a, e, T_CHECK_STEP(s))
1059#define T_step_assert_ne_int(s, a, e) \
1060 T_flags_ne_int(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1062#define T_ge_int(a, e) T_flags_ge_int(a, e, 0)
1063#define T_assert_ge_int(a, e) T_flags_ge_int(a, e, T_CHECK_STOP)
1064#define T_quiet_ge_int(a, e) T_flags_ge_int(a, e, T_CHECK_QUIET)
1065#define T_step_ge_int(s, a, e) T_flags_ge_int(a, e, T_CHECK_STEP(s))
1066#define T_step_assert_ge_int(s, a, e) \
1067 T_flags_ge_int(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1069#define T_gt_int(a, e) T_flags_gt_int(a, e, 0)
1070#define T_assert_gt_int(a, e) T_flags_gt_int(a, e, T_CHECK_STOP)
1071#define T_quiet_gt_int(a, e) T_flags_gt_int(a, e, T_CHECK_QUIET)
1072#define T_step_gt_int(s, a, e) T_flags_gt_int(a, e, T_CHECK_STEP(s))
1073#define T_step_assert_gt_int(s, a, e) \
1074 T_flags_gt_int(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1076#define T_le_int(a, e) T_flags_le_int(a, e, 0)
1077#define T_assert_le_int(a, e) T_flags_le_int(a, e, T_CHECK_STOP)
1078#define T_quiet_le_int(a, e) T_flags_le_int(a, e, T_CHECK_QUIET)
1079#define T_step_le_int(s, a, e) T_flags_le_int(a, e, T_CHECK_STEP(s))
1080#define T_step_assert_le_int(s, a, e) \
1081 T_flags_le_int(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1083#define T_lt_int(a, e) T_flags_lt_int(a, e, 0)
1084#define T_assert_lt_int(a, e) T_flags_lt_int(a, e, T_CHECK_STOP)
1085#define T_quiet_lt_int(a, e) T_flags_lt_int(a, e, T_CHECK_QUIET)
1086#define T_step_lt_int(s, a, e) T_flags_lt_int(a, e, T_CHECK_STEP(s))
1087#define T_step_assert_lt_int(s, a, e) \
1088 T_flags_lt_int(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1102#define T_eq_uint(a, e) T_flags_eq_uint(a, e, 0)
1103#define T_assert_eq_uint(a, e) T_flags_eq_uint(a, e, T_CHECK_STOP)
1104#define T_quiet_eq_uint(a, e) T_flags_eq_uint(a, e, T_CHECK_QUIET)
1105#define T_step_eq_uint(s, a, e) T_flags_eq_uint(a, e, T_CHECK_STEP(s))
1106#define T_step_assert_eq_uint(s, a, e) \
1107 T_flags_eq_uint(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1109#define T_ne_uint(a, e) T_flags_ne_uint(a, e, 0)
1110#define T_assert_ne_uint(a, e) T_flags_ne_uint(a, e, T_CHECK_STOP)
1111#define T_quiet_ne_uint(a, e) T_flags_ne_uint(a, e, T_CHECK_QUIET)
1112#define T_step_ne_uint(s, a, e) T_flags_ne_uint(a, e, T_CHECK_STEP(s))
1113#define T_step_assert_ne_uint(s, a, e) \
1114 T_flags_ne_uint(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1116#define T_ge_uint(a, e) T_flags_ge_uint(a, e, 0)
1117#define T_assert_ge_uint(a, e) T_flags_ge_uint(a, e, T_CHECK_STOP)
1118#define T_quiet_ge_uint(a, e) T_flags_ge_uint(a, e, T_CHECK_QUIET)
1119#define T_step_ge_uint(s, a, e) T_flags_ge_uint(a, e, T_CHECK_STEP(s))
1120#define T_step_assert_ge_uint(s, a, e) \
1121 T_flags_ge_uint(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1123#define T_gt_uint(a, e) T_flags_gt_uint(a, e, 0)
1124#define T_assert_gt_uint(a, e) T_flags_gt_uint(a, e, T_CHECK_STOP)
1125#define T_quiet_gt_uint(a, e) T_flags_gt_uint(a, e, T_CHECK_QUIET)
1126#define T_step_gt_uint(s, a, e) T_flags_gt_uint(a, e, T_CHECK_STEP(s))
1127#define T_step_assert_gt_uint(s, a, e) \
1128 T_flags_gt_uint(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1130#define T_le_uint(a, e) T_flags_le_uint(a, e, 0)
1131#define T_assert_le_uint(a, e) T_flags_le_uint(a, e, T_CHECK_STOP)
1132#define T_quiet_le_uint(a, e) T_flags_le_uint(a, e, T_CHECK_QUIET)
1133#define T_step_le_uint(s, a, e) T_flags_le_uint(a, e, T_CHECK_STEP(s))
1134#define T_step_assert_le_uint(s, a, e) \
1135 T_flags_le_uint(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1137#define T_lt_uint(a, e) T_flags_lt_uint(a, e, 0)
1138#define T_assert_lt_uint(a, e) T_flags_lt_uint(a, e, T_CHECK_STOP)
1139#define T_quiet_lt_uint(a, e) T_flags_lt_uint(a, e, T_CHECK_QUIET)
1140#define T_step_lt_uint(s, a, e) T_flags_lt_uint(a, e, T_CHECK_STEP(s))
1141#define T_step_assert_lt_uint(s, a, e) \
1142 T_flags_lt_uint(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1156#define T_eq_long(a, e) T_flags_eq_long(a, e, 0)
1157#define T_assert_eq_long(a, e) T_flags_eq_long(a, e, T_CHECK_STOP)
1158#define T_quiet_eq_long(a, e) T_flags_eq_long(a, e, T_CHECK_QUIET)
1159#define T_step_eq_long(s, a, e) T_flags_eq_long(a, e, T_CHECK_STEP(s))
1160#define T_step_assert_eq_long(s, a, e) \
1161 T_flags_eq_long(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1163#define T_ne_long(a, e) T_flags_ne_long(a, e, 0)
1164#define T_assert_ne_long(a, e) T_flags_ne_long(a, e, T_CHECK_STOP)
1165#define T_quiet_ne_long(a, e) T_flags_ne_long(a, e, T_CHECK_QUIET)
1166#define T_step_ne_long(s, a, e) T_flags_ne_long(a, e, T_CHECK_STEP(s))
1167#define T_step_assert_ne_long(s, a, e) \
1168 T_flags_ne_long(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1170#define T_ge_long(a, e) T_flags_ge_long(a, e, 0)
1171#define T_assert_ge_long(a, e) T_flags_ge_long(a, e, T_CHECK_STOP)
1172#define T_quiet_ge_long(a, e) T_flags_ge_long(a, e, T_CHECK_QUIET)
1173#define T_step_ge_long(s, a, e) T_flags_ge_long(a, e, T_CHECK_STEP(s))
1174#define T_step_assert_ge_long(s, a, e) \
1175 T_flags_ge_long(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1177#define T_gt_long(a, e) T_flags_gt_long(a, e, 0)
1178#define T_assert_gt_long(a, e) T_flags_gt_long(a, e, T_CHECK_STOP)
1179#define T_quiet_gt_long(a, e) T_flags_gt_long(a, e, T_CHECK_QUIET)
1180#define T_step_gt_long(s, a, e) T_flags_gt_long(a, e, T_CHECK_STEP(s))
1181#define T_step_assert_gt_long(s, a, e) \
1182 T_flags_gt_long(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1184#define T_le_long(a, e) T_flags_le_long(a, e, 0)
1185#define T_assert_le_long(a, e) T_flags_le_long(a, e, T_CHECK_STOP)
1186#define T_quiet_le_long(a, e) T_flags_le_long(a, e, T_CHECK_QUIET)
1187#define T_step_le_long(s, a, e) T_flags_le_long(a, e, T_CHECK_STEP(s))
1188#define T_step_assert_le_long(s, a, e) \
1189 T_flags_le_long(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1191#define T_lt_long(a, e) T_flags_lt_long(a, e, 0)
1192#define T_assert_lt_long(a, e) T_flags_lt_long(a, e, T_CHECK_STOP)
1193#define T_quiet_lt_long(a, e) T_flags_lt_long(a, e, T_CHECK_QUIET)
1194#define T_step_lt_long(s, a, e) T_flags_lt_long(a, e, T_CHECK_STEP(s))
1195#define T_step_assert_lt_long(s, a, e) \
1196 T_flags_lt_long(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1210#define T_eq_ulong(a, e) T_flags_eq_ulong(a, e, 0)
1211#define T_assert_eq_ulong(a, e) T_flags_eq_ulong(a, e, T_CHECK_STOP)
1212#define T_quiet_eq_ulong(a, e) T_flags_eq_ulong(a, e, T_CHECK_QUIET)
1213#define T_step_eq_ulong(s, a, e) T_flags_eq_ulong(a, e, T_CHECK_STEP(s))
1214#define T_step_assert_eq_ulong(s, a, e) \
1215 T_flags_eq_ulong(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1217#define T_ne_ulong(a, e) T_flags_ne_ulong(a, e, 0)
1218#define T_assert_ne_ulong(a, e) T_flags_ne_ulong(a, e, T_CHECK_STOP)
1219#define T_quiet_ne_ulong(a, e) T_flags_ne_ulong(a, e, T_CHECK_QUIET)
1220#define T_step_ne_ulong(s, a, e) T_flags_ne_ulong(a, e, T_CHECK_STEP(s))
1221#define T_step_assert_ne_ulong(s, a, e) \
1222 T_flags_ne_ulong(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1224#define T_ge_ulong(a, e) T_flags_ge_ulong(a, e, 0)
1225#define T_assert_ge_ulong(a, e) T_flags_ge_ulong(a, e, T_CHECK_STOP)
1226#define T_quiet_ge_ulong(a, e) T_flags_ge_ulong(a, e, T_CHECK_QUIET)
1227#define T_step_ge_ulong(s, a, e) T_flags_ge_ulong(a, e, T_CHECK_STEP(s))
1228#define T_step_assert_ge_ulong(s, a, e) \
1229 T_flags_ge_ulong(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1231#define T_gt_ulong(a, e) T_flags_gt_ulong(a, e, 0)
1232#define T_assert_gt_ulong(a, e) T_flags_gt_ulong(a, e, T_CHECK_STOP)
1233#define T_quiet_gt_ulong(a, e) T_flags_gt_ulong(a, e, T_CHECK_QUIET)
1234#define T_step_gt_ulong(s, a, e) T_flags_gt_ulong(a, e, T_CHECK_STEP(s))
1235#define T_step_assert_gt_ulong(s, a, e) \
1236 T_flags_gt_ulong(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1238#define T_le_ulong(a, e) T_flags_le_ulong(a, e, 0)
1239#define T_assert_le_ulong(a, e) T_flags_le_ulong(a, e, T_CHECK_STOP)
1240#define T_quiet_le_ulong(a, e) T_flags_le_ulong(a, e, T_CHECK_QUIET)
1241#define T_step_le_ulong(s, a, e) T_flags_le_ulong(a, e, T_CHECK_STEP(s))
1242#define T_step_assert_le_ulong(s, a, e) \
1243 T_flags_le_ulong(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1245#define T_lt_ulong(a, e) T_flags_lt_ulong(a, e, 0)
1246#define T_assert_lt_ulong(a, e) T_flags_lt_ulong(a, e, T_CHECK_STOP)
1247#define T_quiet_lt_ulong(a, e) T_flags_lt_ulong(a, e, T_CHECK_QUIET)
1248#define T_step_lt_ulong(s, a, e) T_flags_lt_ulong(a, e, T_CHECK_STEP(s))
1249#define T_step_assert_lt_ulong(s, a, e) \
1250 T_flags_lt_ulong(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1264#define T_eq_ll(a, e) T_flags_eq_ll(a, e, 0)
1265#define T_assert_eq_ll(a, e) T_flags_eq_ll(a, e, T_CHECK_STOP)
1266#define T_quiet_eq_ll(a, e) T_flags_eq_ll(a, e, T_CHECK_QUIET)
1267#define T_step_eq_ll(s, a, e) T_flags_eq_ll(a, e, T_CHECK_STEP(s))
1268#define T_step_assert_eq_ll(s, a, e) \
1269 T_flags_eq_ll(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1271#define T_ne_ll(a, e) T_flags_ne_ll(a, e, 0)
1272#define T_assert_ne_ll(a, e) T_flags_ne_ll(a, e, T_CHECK_STOP)
1273#define T_quiet_ne_ll(a, e) T_flags_ne_ll(a, e, T_CHECK_QUIET)
1274#define T_step_ne_ll(s, a, e) T_flags_ne_ll(a, e, T_CHECK_STEP(s))
1275#define T_step_assert_ne_ll(s, a, e) \
1276 T_flags_ne_ll(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1278#define T_ge_ll(a, e) T_flags_ge_ll(a, e, 0)
1279#define T_assert_ge_ll(a, e) T_flags_ge_ll(a, e, T_CHECK_STOP)
1280#define T_quiet_ge_ll(a, e) T_flags_ge_ll(a, e, T_CHECK_QUIET)
1281#define T_step_ge_ll(s, a, e) T_flags_ge_ll(a, e, T_CHECK_STEP(s))
1282#define T_step_assert_ge_ll(s, a, e) \
1283 T_flags_ge_ll(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1285#define T_gt_ll(a, e) T_flags_gt_ll(a, e, 0)
1286#define T_assert_gt_ll(a, e) T_flags_gt_ll(a, e, T_CHECK_STOP)
1287#define T_quiet_gt_ll(a, e) T_flags_gt_ll(a, e, T_CHECK_QUIET)
1288#define T_step_gt_ll(s, a, e) T_flags_gt_ll(a, e, T_CHECK_STEP(s))
1289#define T_step_assert_gt_ll(s, a, e) \
1290 T_flags_gt_ll(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1292#define T_le_ll(a, e) T_flags_le_ll(a, e, 0)
1293#define T_assert_le_ll(a, e) T_flags_le_ll(a, e, T_CHECK_STOP)
1294#define T_quiet_le_ll(a, e) T_flags_le_ll(a, e, T_CHECK_QUIET)
1295#define T_step_le_ll(s, a, e) T_flags_le_ll(a, e, T_CHECK_STEP(s))
1296#define T_step_assert_le_ll(s, a, e) \
1297 T_flags_le_ll(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1299#define T_lt_ll(a, e) T_flags_lt_ll(a, e, 0)
1300#define T_assert_lt_ll(a, e) T_flags_lt_ll(a, e, T_CHECK_STOP)
1301#define T_quiet_lt_ll(a, e) T_flags_lt_ll(a, e, T_CHECK_QUIET)
1302#define T_step_lt_ll(s, a, e) T_flags_lt_ll(a, e, T_CHECK_STEP(s))
1303#define T_step_assert_lt_ll(s, a, e) \
1304 T_flags_lt_ll(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1318#define T_eq_ull(a, e) T_flags_eq_ull(a, e, 0)
1319#define T_assert_eq_ull(a, e) T_flags_eq_ull(a, e, T_CHECK_STOP)
1320#define T_quiet_eq_ull(a, e) T_flags_eq_ull(a, e, T_CHECK_QUIET)
1321#define T_step_eq_ull(s, a, e) T_flags_eq_ull(a, e, T_CHECK_STEP(s))
1322#define T_step_assert_eq_ull(s, a, e) \
1323 T_flags_eq_ull(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1325#define T_ne_ull(a, e) T_flags_ne_ull(a, e, 0)
1326#define T_assert_ne_ull(a, e) T_flags_ne_ull(a, e, T_CHECK_STOP)
1327#define T_quiet_ne_ull(a, e) T_flags_ne_ull(a, e, T_CHECK_QUIET)
1328#define T_step_ne_ull(s, a, e) T_flags_ne_ull(a, e, T_CHECK_STEP(s))
1329#define T_step_assert_ne_ull(s, a, e) \
1330 T_flags_ne_ull(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1332#define T_ge_ull(a, e) T_flags_ge_ull(a, e, 0)
1333#define T_assert_ge_ull(a, e) T_flags_ge_ull(a, e, T_CHECK_STOP)
1334#define T_quiet_ge_ull(a, e) T_flags_ge_ull(a, e, T_CHECK_QUIET)
1335#define T_step_ge_ull(s, a, e) T_flags_ge_ull(a, e, T_CHECK_STEP(s))
1336#define T_step_assert_ge_ull(s, a, e) \
1337 T_flags_ge_ull(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1339#define T_gt_ull(a, e) T_flags_gt_ull(a, e, 0)
1340#define T_assert_gt_ull(a, e) T_flags_gt_ull(a, e, T_CHECK_STOP)
1341#define T_quiet_gt_ull(a, e) T_flags_gt_ull(a, e, T_CHECK_QUIET)
1342#define T_step_gt_ull(s, a, e) T_flags_gt_ull(a, e, T_CHECK_STEP(s))
1343#define T_step_assert_gt_ull(s, a, e) \
1344 T_flags_gt_ull(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1346#define T_le_ull(a, e) T_flags_le_ull(a, e, 0)
1347#define T_assert_le_ull(a, e) T_flags_le_ull(a, e, T_CHECK_STOP)
1348#define T_quiet_le_ull(a, e) T_flags_le_ull(a, e, T_CHECK_QUIET)
1349#define T_step_le_ull(s, a, e) T_flags_le_ull(a, e, T_CHECK_STEP(s))
1350#define T_step_assert_le_ull(s, a, e) \
1351 T_flags_le_ull(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1353#define T_lt_ull(a, e) T_flags_lt_ull(a, e, 0)
1354#define T_assert_lt_ull(a, e) T_flags_lt_ull(a, e, T_CHECK_STOP)
1355#define T_quiet_lt_ull(a, e) T_flags_lt_ull(a, e, T_CHECK_QUIET)
1356#define T_step_lt_ull(s, a, e) T_flags_lt_ull(a, e, T_CHECK_STEP(s))
1357#define T_step_assert_lt_ull(s, a, e) \
1358 T_flags_lt_ull(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1372#define T_eq_i8(a, e) T_flags_eq_int(a, e, 0)
1373#define T_assert_eq_i8(a, e) T_flags_eq_int(a, e, T_CHECK_STOP)
1374#define T_quiet_eq_i8(a, e) T_flags_eq_int(a, e, T_CHECK_QUIET)
1375#define T_step_eq_i8(s, a, e) T_flags_eq_int(a, e, T_CHECK_STEP(s))
1376#define T_step_assert_eq_i8(s, a, e) \
1377 T_flags_eq_int(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1379#define T_ne_i8(a, e) T_flags_ne_int(a, e, 0)
1380#define T_assert_ne_i8(a, e) T_flags_ne_int(a, e, T_CHECK_STOP)
1381#define T_quiet_ne_i8(a, e) T_flags_ne_int(a, e, T_CHECK_QUIET)
1382#define T_step_ne_i8(s, a, e) T_flags_ne_int(a, e, T_CHECK_STEP(s))
1383#define T_step_assert_ne_i8(s, a, e) \
1384 T_flags_ne_int(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1386#define T_ge_i8(a, e) T_flags_ge_int(a, e, 0)
1387#define T_assert_ge_i8(a, e) T_flags_ge_int(a, e, T_CHECK_STOP)
1388#define T_quiet_ge_i8(a, e) T_flags_ge_int(a, e, T_CHECK_QUIET)
1389#define T_step_ge_i8(s, a, e) T_flags_ge_int(a, e, T_CHECK_STEP(s))
1390#define T_step_assert_ge_i8(s, a, e) \
1391 T_flags_ge_int(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1393#define T_gt_i8(a, e) T_flags_gt_int(a, e, 0)
1394#define T_assert_gt_i8(a, e) T_flags_gt_int(a, e, T_CHECK_STOP)
1395#define T_quiet_gt_i8(a, e) T_flags_gt_int(a, e, T_CHECK_QUIET)
1396#define T_step_gt_i8(s, a, e) T_flags_gt_int(a, e, T_CHECK_STEP(s))
1397#define T_step_assert_gt_i8(s, a, e) \
1398 T_flags_gt_int(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1400#define T_le_i8(a, e) T_flags_le_int(a, e, 0)
1401#define T_assert_le_i8(a, e) T_flags_le_int(a, e, T_CHECK_STOP)
1402#define T_quiet_le_i8(a, e) T_flags_le_int(a, e, T_CHECK_QUIET)
1403#define T_step_le_i8(s, a, e) T_flags_le_int(a, e, T_CHECK_STEP(s))
1404#define T_step_assert_le_i8(s, a, e) \
1405 T_flags_le_int(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1407#define T_lt_i8(a, e) T_flags_lt_int(a, e, 0)
1408#define T_assert_lt_i8(a, e) T_flags_lt_int(a, e, T_CHECK_STOP)
1409#define T_quiet_lt_i8(a, e) T_flags_lt_int(a, e, T_CHECK_QUIET)
1410#define T_step_lt_i8(s, a, e) T_flags_lt_int(a, e, T_CHECK_STEP(s))
1411#define T_step_assert_lt_i8(s, a, e) \
1412 T_flags_lt_int(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1426#define T_eq_u8(a, e) T_flags_eq_uint(a, e, 0)
1427#define T_assert_eq_u8(a, e) T_flags_eq_uint(a, e, T_CHECK_STOP)
1428#define T_quiet_eq_u8(a, e) T_flags_eq_uint(a, e, T_CHECK_QUIET)
1429#define T_step_eq_u8(s, a, e) T_flags_eq_uint(a, e, T_CHECK_STEP(s))
1430#define T_step_assert_eq_u8(s, a, e) \
1431 T_flags_eq_uint(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1433#define T_ne_u8(a, e) T_flags_ne_uint(a, e, 0)
1434#define T_assert_ne_u8(a, e) T_flags_ne_uint(a, e, T_CHECK_STOP)
1435#define T_quiet_ne_u8(a, e) T_flags_ne_uint(a, e, T_CHECK_QUIET)
1436#define T_step_ne_u8(s, a, e) T_flags_ne_uint(a, e, T_CHECK_STEP(s))
1437#define T_step_assert_ne_u8(s, a, e) \
1438 T_flags_ne_uint(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1440#define T_ge_u8(a, e) T_flags_ge_uint(a, e, 0)
1441#define T_assert_ge_u8(a, e) T_flags_ge_uint(a, e, T_CHECK_STOP)
1442#define T_quiet_ge_u8(a, e) T_flags_ge_uint(a, e, T_CHECK_QUIET)
1443#define T_step_ge_u8(s, a, e) T_flags_ge_uint(a, e, T_CHECK_STEP(s))
1444#define T_step_assert_ge_u8(s, a, e) \
1445 T_flags_ge_uint(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1447#define T_gt_u8(a, e) T_flags_gt_uint(a, e, 0)
1448#define T_assert_gt_u8(a, e) T_flags_gt_uint(a, e, T_CHECK_STOP)
1449#define T_quiet_gt_u8(a, e) T_flags_gt_uint(a, e, T_CHECK_QUIET)
1450#define T_step_gt_u8(s, a, e) T_flags_gt_uint(a, e, T_CHECK_STEP(s))
1451#define T_step_assert_gt_u8(s, a, e) \
1452 T_flags_gt_uint(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1454#define T_le_u8(a, e) T_flags_le_uint(a, e, 0)
1455#define T_assert_le_u8(a, e) T_flags_le_uint(a, e, T_CHECK_STOP)
1456#define T_quiet_le_u8(a, e) T_flags_le_uint(a, e, T_CHECK_QUIET)
1457#define T_step_le_u8(s, a, e) T_flags_le_uint(a, e, T_CHECK_STEP(s))
1458#define T_step_assert_le_u8(s, a, e) \
1459 T_flags_le_uint(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1461#define T_lt_u8(a, e) T_flags_lt_uint(a, e, 0)
1462#define T_assert_lt_u8(a, e) T_flags_lt_uint(a, e, T_CHECK_STOP)
1463#define T_quiet_lt_u8(a, e) T_flags_lt_uint(a, e, T_CHECK_QUIET)
1464#define T_step_lt_u8(s, a, e) T_flags_lt_uint(a, e, T_CHECK_STEP(s))
1465#define T_step_assert_lt_u8(s, a, e) \
1466 T_flags_lt_uint(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1480#define T_eq_i16(a, e) T_flags_eq_int(a, e, 0)
1481#define T_assert_eq_i16(a, e) T_flags_eq_int(a, e, T_CHECK_STOP)
1482#define T_quiet_eq_i16(a, e) T_flags_eq_int(a, e, T_CHECK_QUIET)
1483#define T_step_eq_i16(s, a, e) T_flags_eq_int(a, e, T_CHECK_STEP(s))
1484#define T_step_assert_eq_i16(s, a, e) \
1485 T_flags_eq_int(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1487#define T_ne_i16(a, e) T_flags_ne_int(a, e, 0)
1488#define T_assert_ne_i16(a, e) T_flags_ne_int(a, e, T_CHECK_STOP)
1489#define T_quiet_ne_i16(a, e) T_flags_ne_int(a, e, T_CHECK_QUIET)
1490#define T_step_ne_i16(s, a, e) T_flags_ne_int(a, e, T_CHECK_STEP(s))
1491#define T_step_assert_ne_i16(s, a, e) \
1492 T_flags_ne_int(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1494#define T_ge_i16(a, e) T_flags_ge_int(a, e, 0)
1495#define T_assert_ge_i16(a, e) T_flags_ge_int(a, e, T_CHECK_STOP)
1496#define T_quiet_ge_i16(a, e) T_flags_ge_int(a, e, T_CHECK_QUIET)
1497#define T_step_ge_i16(s, a, e) T_flags_ge_int(a, e, T_CHECK_STEP(s))
1498#define T_step_assert_ge_i16(s, a, e) \
1499 T_flags_ge_int(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1501#define T_gt_i16(a, e) T_flags_gt_int(a, e, 0)
1502#define T_assert_gt_i16(a, e) T_flags_gt_int(a, e, T_CHECK_STOP)
1503#define T_quiet_gt_i16(a, e) T_flags_gt_int(a, e, T_CHECK_QUIET)
1504#define T_step_gt_i16(s, a, e) T_flags_gt_int(a, e, T_CHECK_STEP(s))
1505#define T_step_assert_gt_i16(s, a, e) \
1506 T_flags_gt_int(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1508#define T_le_i16(a, e) T_flags_le_int(a, e, 0)
1509#define T_assert_le_i16(a, e) T_flags_le_int(a, e, T_CHECK_STOP)
1510#define T_quiet_le_i16(a, e) T_flags_le_int(a, e, T_CHECK_QUIET)
1511#define T_step_le_i16(s, a, e) T_flags_le_int(a, e, T_CHECK_STEP(s))
1512#define T_step_assert_le_i16(s, a, e) \
1513 T_flags_le_int(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1515#define T_lt_i16(a, e) T_flags_lt_int(a, e, 0)
1516#define T_assert_lt_i16(a, e) T_flags_lt_int(a, e, T_CHECK_STOP)
1517#define T_quiet_lt_i16(a, e) T_flags_lt_int(a, e, T_CHECK_QUIET)
1518#define T_step_lt_i16(s, a, e) T_flags_lt_int(a, e, T_CHECK_STEP(s))
1519#define T_step_assert_lt_i16(s, a, e) \
1520 T_flags_lt_int(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1534#define T_eq_u16(a, e) T_flags_eq_uint(a, e, 0)
1535#define T_assert_eq_u16(a, e) T_flags_eq_uint(a, e, T_CHECK_STOP)
1536#define T_quiet_eq_u16(a, e) T_flags_eq_uint(a, e, T_CHECK_QUIET)
1537#define T_step_eq_u16(s, a, e) T_flags_eq_uint(a, e, T_CHECK_STEP(s))
1538#define T_step_assert_eq_u16(s, a, e) \
1539 T_flags_eq_uint(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1541#define T_ne_u16(a, e) T_flags_ne_uint(a, e, 0)
1542#define T_assert_ne_u16(a, e) T_flags_ne_uint(a, e, T_CHECK_STOP)
1543#define T_quiet_ne_u16(a, e) T_flags_ne_uint(a, e, T_CHECK_QUIET)
1544#define T_step_ne_u16(s, a, e) T_flags_ne_uint(a, e, T_CHECK_STEP(s))
1545#define T_step_assert_ne_u16(s, a, e) \
1546 T_flags_ne_uint(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1548#define T_ge_u16(a, e) T_flags_ge_uint(a, e, 0)
1549#define T_assert_ge_u16(a, e) T_flags_ge_uint(a, e, T_CHECK_STOP)
1550#define T_quiet_ge_u16(a, e) T_flags_ge_uint(a, e, T_CHECK_QUIET)
1551#define T_step_ge_u16(s, a, e) T_flags_ge_uint(a, e, T_CHECK_STEP(s))
1552#define T_step_assert_ge_u16(s, a, e) \
1553 T_flags_ge_uint(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1555#define T_gt_u16(a, e) T_flags_gt_uint(a, e, 0)
1556#define T_assert_gt_u16(a, e) T_flags_gt_uint(a, e, T_CHECK_STOP)
1557#define T_quiet_gt_u16(a, e) T_flags_gt_uint(a, e, T_CHECK_QUIET)
1558#define T_step_gt_u16(s, a, e) T_flags_gt_uint(a, e, T_CHECK_STEP(s))
1559#define T_step_assert_gt_u16(s, a, e) \
1560 T_flags_gt_uint(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1562#define T_le_u16(a, e) T_flags_le_uint(a, e, 0)
1563#define T_assert_le_u16(a, e) T_flags_le_uint(a, e, T_CHECK_STOP)
1564#define T_quiet_le_u16(a, e) T_flags_le_uint(a, e, T_CHECK_QUIET)
1565#define T_step_le_u16(s, a, e) T_flags_le_uint(a, e, T_CHECK_STEP(s))
1566#define T_step_assert_le_u16(s, a, e) \
1567 T_flags_le_uint(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1569#define T_lt_u16(a, e) T_flags_lt_uint(a, e, 0)
1570#define T_assert_lt_u16(a, e) T_flags_lt_uint(a, e, T_CHECK_STOP)
1571#define T_quiet_lt_u16(a, e) T_flags_lt_uint(a, e, T_CHECK_QUIET)
1572#define T_step_lt_u16(s, a, e) T_flags_lt_uint(a, e, T_CHECK_STEP(s))
1573#define T_step_assert_lt_u16(s, a, e) \
1574 T_flags_lt_uint(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1588#define T_eq_i32(a, e) T_flags_eq_long(a, e, 0)
1589#define T_assert_eq_i32(a, e) T_flags_eq_long(a, e, T_CHECK_STOP)
1590#define T_quiet_eq_i32(a, e) T_flags_eq_long(a, e, T_CHECK_QUIET)
1591#define T_step_eq_i32(s, a, e) T_flags_eq_long(a, e, T_CHECK_STEP(s))
1592#define T_step_assert_eq_i32(s, a, e) \
1593 T_flags_eq_long(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1595#define T_ne_i32(a, e) T_flags_ne_long(a, e, 0)
1596#define T_assert_ne_i32(a, e) T_flags_ne_long(a, e, T_CHECK_STOP)
1597#define T_quiet_ne_i32(a, e) T_flags_ne_long(a, e, T_CHECK_QUIET)
1598#define T_step_ne_i32(s, a, e) T_flags_ne_long(a, e, T_CHECK_STEP(s))
1599#define T_step_assert_ne_i32(s, a, e) \
1600 T_flags_ne_long(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1602#define T_ge_i32(a, e) T_flags_ge_long(a, e, 0)
1603#define T_assert_ge_i32(a, e) T_flags_ge_long(a, e, T_CHECK_STOP)
1604#define T_quiet_ge_i32(a, e) T_flags_ge_long(a, e, T_CHECK_QUIET)
1605#define T_step_ge_i32(s, a, e) T_flags_ge_long(a, e, T_CHECK_STEP(s))
1606#define T_step_assert_ge_i32(s, a, e) \
1607 T_flags_ge_long(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1609#define T_gt_i32(a, e) T_flags_gt_long(a, e, 0)
1610#define T_assert_gt_i32(a, e) T_flags_gt_long(a, e, T_CHECK_STOP)
1611#define T_quiet_gt_i32(a, e) T_flags_gt_long(a, e, T_CHECK_QUIET)
1612#define T_step_gt_i32(s, a, e) T_flags_gt_long(a, e, T_CHECK_STEP(s))
1613#define T_step_assert_gt_i32(s, a, e) \
1614 T_flags_gt_long(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1616#define T_le_i32(a, e) T_flags_le_long(a, e, 0)
1617#define T_assert_le_i32(a, e) T_flags_le_long(a, e, T_CHECK_STOP)
1618#define T_quiet_le_i32(a, e) T_flags_le_long(a, e, T_CHECK_QUIET)
1619#define T_step_le_i32(s, a, e) T_flags_le_long(a, e, T_CHECK_STEP(s))
1620#define T_step_assert_le_i32(s, a, e) \
1621 T_flags_le_long(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1623#define T_lt_i32(a, e) T_flags_lt_long(a, e, 0)
1624#define T_assert_lt_i32(a, e) T_flags_lt_long(a, e, T_CHECK_STOP)
1625#define T_quiet_lt_i32(a, e) T_flags_lt_long(a, e, T_CHECK_QUIET)
1626#define T_step_lt_i32(s, a, e) T_flags_lt_long(a, e, T_CHECK_STEP(s))
1627#define T_step_assert_lt_i32(s, a, e) \
1628 T_flags_lt_long(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1642#define T_eq_u32(a, e) T_flags_eq_ulong(a, e, 0)
1643#define T_assert_eq_u32(a, e) T_flags_eq_ulong(a, e, T_CHECK_STOP)
1644#define T_quiet_eq_u32(a, e) T_flags_eq_ulong(a, e, T_CHECK_QUIET)
1645#define T_step_eq_u32(s, a, e) T_flags_eq_ulong(a, e, T_CHECK_STEP(s))
1646#define T_step_assert_eq_u32(s, a, e) \
1647 T_flags_eq_ulong(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1649#define T_ne_u32(a, e) T_flags_ne_ulong(a, e, 0)
1650#define T_assert_ne_u32(a, e) T_flags_ne_ulong(a, e, T_CHECK_STOP)
1651#define T_quiet_ne_u32(a, e) T_flags_ne_ulong(a, e, T_CHECK_QUIET)
1652#define T_step_ne_u32(s, a, e) T_flags_ne_ulong(a, e, T_CHECK_STEP(s))
1653#define T_step_assert_ne_u32(s, a, e) \
1654 T_flags_ne_ulong(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1656#define T_ge_u32(a, e) T_flags_ge_ulong(a, e, 0)
1657#define T_assert_ge_u32(a, e) T_flags_ge_ulong(a, e, T_CHECK_STOP)
1658#define T_quiet_ge_u32(a, e) T_flags_ge_ulong(a, e, T_CHECK_QUIET)
1659#define T_step_ge_u32(s, a, e) T_flags_ge_ulong(a, e, T_CHECK_STEP(s))
1660#define T_step_assert_ge_u32(s, a, e) \
1661 T_flags_ge_ulong(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1663#define T_gt_u32(a, e) T_flags_gt_ulong(a, e, 0)
1664#define T_assert_gt_u32(a, e) T_flags_gt_ulong(a, e, T_CHECK_STOP)
1665#define T_quiet_gt_u32(a, e) T_flags_gt_ulong(a, e, T_CHECK_QUIET)
1666#define T_step_gt_u32(s, a, e) T_flags_gt_ulong(a, e, T_CHECK_STEP(s))
1667#define T_step_assert_gt_u32(s, a, e) \
1668 T_flags_gt_ulong(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1670#define T_le_u32(a, e) T_flags_le_ulong(a, e, 0)
1671#define T_assert_le_u32(a, e) T_flags_le_ulong(a, e, T_CHECK_STOP)
1672#define T_quiet_le_u32(a, e) T_flags_le_ulong(a, e, T_CHECK_QUIET)
1673#define T_step_le_u32(s, a, e) T_flags_le_ulong(a, e, T_CHECK_STEP(s))
1674#define T_step_assert_le_u32(s, a, e) \
1675 T_flags_le_ulong(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1677#define T_lt_u32(a, e) T_flags_lt_ulong(a, e, 0)
1678#define T_assert_lt_u32(a, e) T_flags_lt_ulong(a, e, T_CHECK_STOP)
1679#define T_quiet_lt_u32(a, e) T_flags_lt_ulong(a, e, T_CHECK_QUIET)
1680#define T_step_lt_u32(s, a, e) T_flags_lt_ulong(a, e, T_CHECK_STEP(s))
1681#define T_step_assert_lt_u32(s, a, e) \
1682 T_flags_lt_ulong(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1696#define T_eq_i64(a, e) T_flags_eq_ll(a, e, 0)
1697#define T_assert_eq_i64(a, e) T_flags_eq_ll(a, e, T_CHECK_STOP)
1698#define T_quiet_eq_i64(a, e) T_flags_eq_ll(a, e, T_CHECK_QUIET)
1699#define T_step_eq_i64(s, a, e) T_flags_eq_ll(a, e, T_CHECK_STEP(s))
1700#define T_step_assert_eq_i64(s, a, e) \
1701 T_flags_eq_ll(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1703#define T_ne_i64(a, e) T_flags_ne_ll(a, e, 0)
1704#define T_assert_ne_i64(a, e) T_flags_ne_ll(a, e, T_CHECK_STOP)
1705#define T_quiet_ne_i64(a, e) T_flags_ne_ll(a, e, T_CHECK_QUIET)
1706#define T_step_ne_i64(s, a, e) T_flags_ne_ll(a, e, T_CHECK_STEP(s))
1707#define T_step_assert_ne_i64(s, a, e) \
1708 T_flags_ne_ll(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1710#define T_ge_i64(a, e) T_flags_ge_ll(a, e, 0)
1711#define T_assert_ge_i64(a, e) T_flags_ge_ll(a, e, T_CHECK_STOP)
1712#define T_quiet_ge_i64(a, e) T_flags_ge_ll(a, e, T_CHECK_QUIET)
1713#define T_step_ge_i64(s, a, e) T_flags_ge_ll(a, e, T_CHECK_STEP(s))
1714#define T_step_assert_ge_i64(s, a, e) \
1715 T_flags_ge_ll(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1717#define T_gt_i64(a, e) T_flags_gt_ll(a, e, 0)
1718#define T_assert_gt_i64(a, e) T_flags_gt_ll(a, e, T_CHECK_STOP)
1719#define T_quiet_gt_i64(a, e) T_flags_gt_ll(a, e, T_CHECK_QUIET)
1720#define T_step_gt_i64(s, a, e) T_flags_gt_ll(a, e, T_CHECK_STEP(s))
1721#define T_step_assert_gt_i64(s, a, e) \
1722 T_flags_gt_ll(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1724#define T_le_i64(a, e) T_flags_le_ll(a, e, 0)
1725#define T_assert_le_i64(a, e) T_flags_le_ll(a, e, T_CHECK_STOP)
1726#define T_quiet_le_i64(a, e) T_flags_le_ll(a, e, T_CHECK_QUIET)
1727#define T_step_le_i64(s, a, e) T_flags_le_ll(a, e, T_CHECK_STEP(s))
1728#define T_step_assert_le_i64(s, a, e) \
1729 T_flags_le_ll(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1731#define T_lt_i64(a, e) T_flags_lt_ll(a, e, 0)
1732#define T_assert_lt_i64(a, e) T_flags_lt_ll(a, e, T_CHECK_STOP)
1733#define T_quiet_lt_i64(a, e) T_flags_lt_ll(a, e, T_CHECK_QUIET)
1734#define T_step_lt_i64(s, a, e) T_flags_lt_ll(a, e, T_CHECK_STEP(s))
1735#define T_step_assert_lt_i64(s, a, e) \
1736 T_flags_lt_ll(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1750#define T_eq_u64(a, e) T_flags_eq_ull(a, e, 0)
1751#define T_assert_eq_u64(a, e) T_flags_eq_ull(a, e, T_CHECK_STOP)
1752#define T_quiet_eq_u64(a, e) T_flags_eq_ull(a, e, T_CHECK_QUIET)
1753#define T_step_eq_u64(s, a, e) T_flags_eq_ull(a, e, T_CHECK_STEP(s))
1754#define T_step_assert_eq_u64(s, a, e) \
1755 T_flags_eq_ull(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1757#define T_ne_u64(a, e) T_flags_ne_ull(a, e, 0)
1758#define T_assert_ne_u64(a, e) T_flags_ne_ull(a, e, T_CHECK_STOP)
1759#define T_quiet_ne_u64(a, e) T_flags_ne_ull(a, e, T_CHECK_QUIET)
1760#define T_step_ne_u64(s, a, e) T_flags_ne_ull(a, e, T_CHECK_STEP(s))
1761#define T_step_assert_ne_u64(s, a, e) \
1762 T_flags_ne_ull(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1764#define T_ge_u64(a, e) T_flags_ge_ull(a, e, 0)
1765#define T_assert_ge_u64(a, e) T_flags_ge_ull(a, e, T_CHECK_STOP)
1766#define T_quiet_ge_u64(a, e) T_flags_ge_ull(a, e, T_CHECK_QUIET)
1767#define T_step_ge_u64(s, a, e) T_flags_ge_ull(a, e, T_CHECK_STEP(s))
1768#define T_step_assert_ge_u64(s, a, e) \
1769 T_flags_ge_ull(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1771#define T_gt_u64(a, e) T_flags_gt_ull(a, e, 0)
1772#define T_assert_gt_u64(a, e) T_flags_gt_ull(a, e, T_CHECK_STOP)
1773#define T_quiet_gt_u64(a, e) T_flags_gt_ull(a, e, T_CHECK_QUIET)
1774#define T_step_gt_u64(s, a, e) T_flags_gt_ull(a, e, T_CHECK_STEP(s))
1775#define T_step_assert_gt_u64(s, a, e) \
1776 T_flags_gt_ull(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1778#define T_le_u64(a, e) T_flags_le_ull(a, e, 0)
1779#define T_assert_le_u64(a, e) T_flags_le_ull(a, e, T_CHECK_STOP)
1780#define T_quiet_le_u64(a, e) T_flags_le_ull(a, e, T_CHECK_QUIET)
1781#define T_step_le_u64(s, a, e) T_flags_le_ull(a, e, T_CHECK_STEP(s))
1782#define T_step_assert_le_u64(s, a, e) \
1783 T_flags_le_ull(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1785#define T_lt_u64(a, e) T_flags_lt_ull(a, e, 0)
1786#define T_assert_lt_u64(a, e) T_flags_lt_ull(a, e, T_CHECK_STOP)
1787#define T_quiet_lt_u64(a, e) T_flags_lt_ull(a, e, T_CHECK_QUIET)
1788#define T_step_lt_u64(s, a, e) T_flags_lt_ull(a, e, T_CHECK_STEP(s))
1789#define T_step_assert_lt_u64(s, a, e) \
1790 T_flags_lt_ull(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1804#define T_eq_iptr(a, e) T_flags_eq_long(a, e, 0)
1805#define T_assert_eq_iptr(a, e) T_flags_eq_long(a, e, T_CHECK_STOP)
1806#define T_quiet_eq_iptr(a, e) T_flags_eq_long(a, e, T_CHECK_QUIET)
1807#define T_step_eq_iptr(s, a, e) T_flags_eq_long(a, e, T_CHECK_STEP(s))
1808#define T_step_assert_eq_iptr(s, a, e) \
1809 T_flags_eq_long(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1811#define T_ne_iptr(a, e) T_flags_ne_long(a, e, 0)
1812#define T_assert_ne_iptr(a, e) T_flags_ne_long(a, e, T_CHECK_STOP)
1813#define T_quiet_ne_iptr(a, e) T_flags_ne_long(a, e, T_CHECK_QUIET)
1814#define T_step_ne_iptr(s, a, e) T_flags_ne_long(a, e, T_CHECK_STEP(s))
1815#define T_step_assert_ne_iptr(s, a, e) \
1816 T_flags_ne_long(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1818#define T_ge_iptr(a, e) T_flags_ge_long(a, e, 0)
1819#define T_assert_ge_iptr(a, e) T_flags_ge_long(a, e, T_CHECK_STOP)
1820#define T_quiet_ge_iptr(a, e) T_flags_ge_long(a, e, T_CHECK_QUIET)
1821#define T_step_ge_iptr(s, a, e) T_flags_ge_long(a, e, T_CHECK_STEP(s))
1822#define T_step_assert_ge_iptr(s, a, e) \
1823 T_flags_ge_long(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1825#define T_gt_iptr(a, e) T_flags_gt_long(a, e, 0)
1826#define T_assert_gt_iptr(a, e) T_flags_gt_long(a, e, T_CHECK_STOP)
1827#define T_quiet_gt_iptr(a, e) T_flags_gt_long(a, e, T_CHECK_QUIET)
1828#define T_step_gt_iptr(s, a, e) T_flags_gt_long(a, e, T_CHECK_STEP(s))
1829#define T_step_assert_gt_iptr(s, a, e) \
1830 T_flags_gt_long(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1832#define T_le_iptr(a, e) T_flags_le_long(a, e, 0)
1833#define T_assert_le_iptr(a, e) T_flags_le_long(a, e, T_CHECK_STOP)
1834#define T_quiet_le_iptr(a, e) T_flags_le_long(a, e, T_CHECK_QUIET)
1835#define T_step_le_iptr(s, a, e) T_flags_le_long(a, e, T_CHECK_STEP(s))
1836#define T_step_assert_le_iptr(s, a, e) \
1837 T_flags_le_long(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1839#define T_lt_iptr(a, e) T_flags_lt_long(a, e, 0)
1840#define T_assert_lt_iptr(a, e) T_flags_lt_long(a, e, T_CHECK_STOP)
1841#define T_quiet_lt_iptr(a, e) T_flags_lt_long(a, e, T_CHECK_QUIET)
1842#define T_step_lt_iptr(s, a, e) T_flags_lt_long(a, e, T_CHECK_STEP(s))
1843#define T_step_assert_lt_iptr(s, a, e) \
1844 T_flags_lt_long(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1858#define T_eq_uptr(a, e) T_flags_eq_ulong(a, e, 0)
1859#define T_assert_eq_uptr(a, e) T_flags_eq_ulong(a, e, T_CHECK_STOP)
1860#define T_quiet_eq_uptr(a, e) T_flags_eq_ulong(a, e, T_CHECK_QUIET)
1861#define T_step_eq_uptr(s, a, e) T_flags_eq_ulong(a, e, T_CHECK_STEP(s))
1862#define T_step_assert_eq_uptr(s, a, e) \
1863 T_flags_eq_ulong(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1865#define T_ne_uptr(a, e) T_flags_ne_ulong(a, e, 0)
1866#define T_assert_ne_uptr(a, e) T_flags_ne_ulong(a, e, T_CHECK_STOP)
1867#define T_quiet_ne_uptr(a, e) T_flags_ne_ulong(a, e, T_CHECK_QUIET)
1868#define T_step_ne_uptr(s, a, e) T_flags_ne_ulong(a, e, T_CHECK_STEP(s))
1869#define T_step_assert_ne_uptr(s, a, e) \
1870 T_flags_ne_ulong(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1872#define T_ge_uptr(a, e) T_flags_ge_ulong(a, e, 0)
1873#define T_assert_ge_uptr(a, e) T_flags_ge_ulong(a, e, T_CHECK_STOP)
1874#define T_quiet_ge_uptr(a, e) T_flags_ge_ulong(a, e, T_CHECK_QUIET)
1875#define T_step_ge_uptr(s, a, e) T_flags_ge_ulong(a, e, T_CHECK_STEP(s))
1876#define T_step_assert_ge_uptr(s, a, e) \
1877 T_flags_ge_ulong(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1879#define T_gt_uptr(a, e) T_flags_gt_ulong(a, e, 0)
1880#define T_assert_gt_uptr(a, e) T_flags_gt_ulong(a, e, T_CHECK_STOP)
1881#define T_quiet_gt_uptr(a, e) T_flags_gt_ulong(a, e, T_CHECK_QUIET)
1882#define T_step_gt_uptr(s, a, e) T_flags_gt_ulong(a, e, T_CHECK_STEP(s))
1883#define T_step_assert_gt_uptr(s, a, e) \
1884 T_flags_gt_ulong(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1886#define T_le_uptr(a, e) T_flags_le_ulong(a, e, 0)
1887#define T_assert_le_uptr(a, e) T_flags_le_ulong(a, e, T_CHECK_STOP)
1888#define T_quiet_le_uptr(a, e) T_flags_le_ulong(a, e, T_CHECK_QUIET)
1889#define T_step_le_uptr(s, a, e) T_flags_le_ulong(a, e, T_CHECK_STEP(s))
1890#define T_step_assert_le_uptr(s, a, e) \
1891 T_flags_le_ulong(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1893#define T_lt_uptr(a, e) T_flags_lt_ulong(a, e, 0)
1894#define T_assert_lt_uptr(a, e) T_flags_lt_ulong(a, e, T_CHECK_STOP)
1895#define T_quiet_lt_uptr(a, e) T_flags_lt_ulong(a, e, T_CHECK_QUIET)
1896#define T_step_lt_uptr(s, a, e) T_flags_lt_ulong(a, e, T_CHECK_STEP(s))
1897#define T_step_assert_lt_uptr(s, a, e) \
1898 T_flags_lt_ulong(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1912#define T_eq_ssz(a, e) T_flags_eq_long(a, e, 0)
1913#define T_assert_eq_ssz(a, e) T_flags_eq_long(a, e, T_CHECK_STOP)
1914#define T_quiet_eq_ssz(a, e) T_flags_eq_long(a, e, T_CHECK_QUIET)
1915#define T_step_eq_ssz(s, a, e) T_flags_eq_long(a, e, T_CHECK_STEP(s))
1916#define T_step_assert_eq_ssz(s, a, e) \
1917 T_flags_eq_long(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1919#define T_ne_ssz(a, e) T_flags_ne_long(a, e, 0)
1920#define T_assert_ne_ssz(a, e) T_flags_ne_long(a, e, T_CHECK_STOP)
1921#define T_quiet_ne_ssz(a, e) T_flags_ne_long(a, e, T_CHECK_QUIET)
1922#define T_step_ne_ssz(s, a, e) T_flags_ne_long(a, e, T_CHECK_STEP(s))
1923#define T_step_assert_ne_ssz(s, a, e) \
1924 T_flags_ne_long(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1926#define T_ge_ssz(a, e) T_flags_ge_long(a, e, 0)
1927#define T_assert_ge_ssz(a, e) T_flags_ge_long(a, e, T_CHECK_STOP)
1928#define T_quiet_ge_ssz(a, e) T_flags_ge_long(a, e, T_CHECK_QUIET)
1929#define T_step_ge_ssz(s, a, e) T_flags_ge_long(a, e, T_CHECK_STEP(s))
1930#define T_step_assert_ge_ssz(s, a, e) \
1931 T_flags_ge_long(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1933#define T_gt_ssz(a, e) T_flags_gt_long(a, e, 0)
1934#define T_assert_gt_ssz(a, e) T_flags_gt_long(a, e, T_CHECK_STOP)
1935#define T_quiet_gt_ssz(a, e) T_flags_gt_long(a, e, T_CHECK_QUIET)
1936#define T_step_gt_ssz(s, a, e) T_flags_gt_long(a, e, T_CHECK_STEP(s))
1937#define T_step_assert_gt_ssz(s, a, e) \
1938 T_flags_gt_long(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1940#define T_le_ssz(a, e) T_flags_le_long(a, e, 0)
1941#define T_assert_le_ssz(a, e) T_flags_le_long(a, e, T_CHECK_STOP)
1942#define T_quiet_le_ssz(a, e) T_flags_le_long(a, e, T_CHECK_QUIET)
1943#define T_step_le_ssz(s, a, e) T_flags_le_long(a, e, T_CHECK_STEP(s))
1944#define T_step_assert_le_ssz(s, a, e) \
1945 T_flags_le_long(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1947#define T_lt_ssz(a, e) T_flags_lt_long(a, e, 0)
1948#define T_assert_lt_ssz(a, e) T_flags_lt_long(a, e, T_CHECK_STOP)
1949#define T_quiet_lt_ssz(a, e) T_flags_lt_long(a, e, T_CHECK_QUIET)
1950#define T_step_lt_ssz(s, a, e) T_flags_lt_long(a, e, T_CHECK_STEP(s))
1951#define T_step_assert_lt_ssz(s, a, e) \
1952 T_flags_lt_long(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1966#define T_eq_sz(a, e) T_flags_eq_ulong(a, e, 0)
1967#define T_assert_eq_sz(a, e) T_flags_eq_ulong(a, e, T_CHECK_STOP)
1968#define T_quiet_eq_sz(a, e) T_flags_eq_ulong(a, e, T_CHECK_QUIET)
1969#define T_step_eq_sz(s, a, e) T_flags_eq_ulong(a, e, T_CHECK_STEP(s))
1970#define T_step_assert_eq_sz(s, a, e) \
1971 T_flags_eq_ulong(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1973#define T_ne_sz(a, e) T_flags_ne_ulong(a, e, 0)
1974#define T_assert_ne_sz(a, e) T_flags_ne_ulong(a, e, T_CHECK_STOP)
1975#define T_quiet_ne_sz(a, e) T_flags_ne_ulong(a, e, T_CHECK_QUIET)
1976#define T_step_ne_sz(s, a, e) T_flags_ne_ulong(a, e, T_CHECK_STEP(s))
1977#define T_step_assert_ne_sz(s, a, e) \
1978 T_flags_ne_ulong(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1980#define T_ge_sz(a, e) T_flags_ge_ulong(a, e, 0)
1981#define T_assert_ge_sz(a, e) T_flags_ge_ulong(a, e, T_CHECK_STOP)
1982#define T_quiet_ge_sz(a, e) T_flags_ge_ulong(a, e, T_CHECK_QUIET)
1983#define T_step_ge_sz(s, a, e) T_flags_ge_ulong(a, e, T_CHECK_STEP(s))
1984#define T_step_assert_ge_sz(s, a, e) \
1985 T_flags_ge_ulong(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1987#define T_gt_sz(a, e) T_flags_gt_ulong(a, e, 0)
1988#define T_assert_gt_sz(a, e) T_flags_gt_ulong(a, e, T_CHECK_STOP)
1989#define T_quiet_gt_sz(a, e) T_flags_gt_ulong(a, e, T_CHECK_QUIET)
1990#define T_step_gt_sz(s, a, e) T_flags_gt_ulong(a, e, T_CHECK_STEP(s))
1991#define T_step_assert_gt_sz(s, a, e) \
1992 T_flags_gt_ulong(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
1994#define T_le_sz(a, e) T_flags_le_ulong(a, e, 0)
1995#define T_assert_le_sz(a, e) T_flags_le_ulong(a, e, T_CHECK_STOP)
1996#define T_quiet_le_sz(a, e) T_flags_le_ulong(a, e, T_CHECK_QUIET)
1997#define T_step_le_sz(s, a, e) T_flags_le_ulong(a, e, T_CHECK_STEP(s))
1998#define T_step_assert_le_sz(s, a, e) \
1999 T_flags_le_ulong(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
2001#define T_lt_sz(a, e) T_flags_lt_ulong(a, e, 0)
2002#define T_assert_lt_sz(a, e) T_flags_lt_ulong(a, e, T_CHECK_STOP)
2003#define T_quiet_lt_sz(a, e) T_flags_lt_ulong(a, e, T_CHECK_QUIET)
2004#define T_step_lt_sz(s, a, e) T_flags_lt_ulong(a, e, T_CHECK_STEP(s))
2005#define T_step_assert_lt_sz(s, a, e) \
2006 T_flags_lt_ulong(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
2020const char *T_strerror(
int);
2022#define T_eno(a, e) T_flags_eno(a, e, 0)
2023#define T_assert_eno(a, e) T_flags_eno(a, e, T_CHECK_STOP)
2024#define T_quiet_eno(a, e) T_flags_eno(a, e, T_CHECK_QUIET)
2025#define T_step_eno(s, a, e) T_flags_eno(a, e, T_CHECK_STEP(s))
2026#define T_step_assert_eno(s, a, e) \
2027 T_flags_eno(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
2029#define T_eno_success(a) T_flags_eno_success(a, 0)
2030#define T_assert_eno_success(a) T_flags_eno_success(a, T_CHECK_STOP)
2031#define T_quiet_eno_success(a) T_flags_eno_success(a, T_CHECK_QUIET)
2032#define T_step_eno_success(s, a) T_flags_eno_success(a, T_CHECK_STEP(s))
2033#define T_step_assert_eno_success(s, a) \
2034 T_flags_eno_success(a, T_CHECK_STEP(s) | T_CHECK_STOP)
2036#define T_psx_error(a, eno) T_flags_psx_error(a, eno, 0)
2037#define T_assert_psx_error(a, eno) T_flags_psx_error(a, eno, T_CHECK_STOP)
2038#define T_quiet_psx_error(a, eno) T_flags_psx_error(a, eno, T_CHECK_QUIET)
2039#define T_step_psx_error(s, a, eno) T_flags_psx_error(a, eno, T_CHECK_STEP(s))
2040#define T_step_assert_psx_error(s, a, eno) \
2041 T_flags_psx_error(a, eno, T_CHECK_STEP(s) | T_CHECK_STOP)
2043#define T_psx_success(a) T_flags_psx_success(a, 0)
2044#define T_assert_psx_success(a) T_flags_psx_success(a, T_CHECK_STOP)
2045#define T_quiet_psx_success(a) T_flags_psx_success(a, T_CHECK_QUIET)
2046#define T_step_psx_success(s, a) T_flags_psx_success(a, T_CHECK_STEP(s))
2047#define T_step_assert_psx_success(s, a) \
2048 T_flags_psx_success(a, T_CHECK_STEP(s) | T_CHECK_STOP)
2055#define T_flags_rsc(a, e, flags) \
2057 static const T_check_context T_check_instance = { \
2058 T_FILE_NAME, __LINE__, flags }; \
2059 T_check_rsc(a, &T_check_instance, e); \
2064#define T_flags_rsc_success(a, flags) \
2066 static const T_check_context T_check_instance = { \
2067 T_FILE_NAME, __LINE__, flags }; \
2068 T_check_rsc_success(a, &T_check_instance); \
2081#define T_rsc(a, e) T_flags_rsc(a, e, 0)
2082#define T_assert_rsc(a, e) T_flags_rsc(a, e, T_CHECK_STOP)
2083#define T_quiet_rsc(a, e) T_flags_rsc(a, e, T_CHECK_QUIET)
2084#define T_step_rsc(s, a, e) T_flags_rsc(a, e, T_CHECK_STEP(s))
2085#define T_step_assert_rsc(s, a, e) \
2086 T_flags_rsc(a, e, T_CHECK_STEP(s) | T_CHECK_STOP)
2088#define T_rsc_success(a) T_flags_rsc_success(a, 0)
2089#define T_assert_rsc_success(a) T_flags_rsc_success(a, T_CHECK_STOP)
2090#define T_quiet_rsc_success(a) T_flags_rsc_success(a, T_CHECK_QUIET)
2091#define T_step_rsc_success(s, a) T_flags_rsc_success(a, T_CHECK_STEP(s))
2092#define T_step_assert_rsc_success(s, a) \
2093 T_flags_rsc_success(a, T_CHECK_STEP(s) | T_CHECK_STOP)
2098void T_plan(
unsigned int);
2100#define T_step(s, ...) T_flags_true(true, T_CHECK_STEP(s), __VA_ARGS__)
2101#define T_step_assert(s, ...) \
2102 T_flags_true(true, T_CHECK_STEP(s) | T_CHECK_STOP, __VA_ARGS__)
2115typedef CPU_Counter_ticks T_ticks;
2117typedef unsigned long T_ticks;
2120typedef uint64_t T_time;
2123typedef char T_time_string[24];
2125const char *T_time_to_string_ns(T_time, T_time_string);
2127const char *T_time_to_string_us(T_time, T_time_string);
2129const char *T_time_to_string_ms(T_time, T_time_string);
2131const char *T_time_to_string_s(T_time, T_time_string);
2133const char *T_ticks_to_string_ns(T_ticks, T_time_string);
2135const char *T_ticks_to_string_us(T_ticks, T_time_string);
2137const char *T_ticks_to_string_ms(T_ticks, T_time_string);
2139const char *T_ticks_to_string_s(T_ticks, T_time_string);
2141T_time T_ticks_to_time(T_ticks);
2143T_ticks T_time_to_ticks(T_time);
2145T_time T_seconds_and_nanoseconds_to_time(uint32_t, uint32_t);
2147void T_time_to_seconds_and_nanoseconds(T_time, uint32_t *, uint32_t *);
2152static inline T_ticks
2158T_ticks T_tick(
void);
2161T_time T_now_clock(
void);
2163T_time T_now_dummy(
void);
2165T_time T_now_tick(
void);
2167T_time T_case_begin_time(
void);
2171void *T_malloc(
size_t);
2173void *T_calloc(
size_t,
size_t);
2175void *T_zalloc(
size_t,
void (*)(
void *));
2179void T_register(
void);
2182 T_EVENT_RUN_INITIALIZE_EARLY,
2183 T_EVENT_RUN_INITIALIZE_LATE,
2188 T_EVENT_RUN_FINALIZE_EARLY,
2189 T_EVENT_RUN_FINALIZE_LATE
2192typedef void (*T_action)(T_event,
const char *);
2194typedef void (*T_putchar)(int,
void *);
2202 T_verbosity verbosity;
2203 T_time (*now)(void);
2204 size_t action_count;
2205 const T_action *actions;
2208void T_putchar_default(
int,
void *);
2212bool T_is_runner(
void);
2214void T_run_initialize(
const T_config *);
2216void T_run_all(
void);
2218void T_run_by_name(
const char *);
2220void T_case_begin(
const char *,
const T_fixture *);
2222void T_case_end(
void);
2224bool T_run_finalize(
void);
2226void T_set_putchar(T_putchar,
void *, T_putchar *,
void **);
2228void *T_fixture_context(
void);
2230void T_set_fixture_context(
void *);
2233#define T_TEST_CASE_FIXTURE(name, fixture) \
2234void T_case_body_##name(void); \
2235T_case_context T_case_instance_##name = { \
2237 T_case_body_##name, \
2241static T_case_context * const T_case_item_##name \
2242__attribute((__section__(".rtemsroset._T.content.0." #name))) \
2243__attribute((__used__)) = &T_case_instance_##name; \
2244void T_case_body_##name(void)
2246#define T_TEST_CASE_FIXTURE(name, fixture) \
2247void T_case_body_##name(void); \
2248T_case_context T_case_instance_##name = { \
2250 T_case_body_##name, \
2254__attribute((__constructor__)) static void \
2255T_case_register_##name(void) \
2257 T_case_register(&T_case_instance_##name); \
2259void T_case_body_##name(void)
2262#define T_TEST_CASE(name) T_TEST_CASE_FIXTURE(name, NULL)
2264void T_report_hash_sha256(T_event,
const char *);
2266void T_check_heap(T_event,
const char *);
2269void T_check_task_context(T_event,
const char *);
2271void T_check_file_descriptors(T_event,
const char *);
2273void T_check_rtems_barriers(T_event,
const char *);
2275void T_check_rtems_extensions(T_event,
const char *);
2277void T_check_rtems_message_queues(T_event,
const char *);
2279void T_check_rtems_partitions(T_event,
const char *);
2281void T_check_rtems_periods(T_event,
const char *);
2283void T_check_rtems_regions(T_event,
const char *);
2285void T_check_rtems_semaphores(T_event,
const char *);
2287void T_check_rtems_tasks(T_event,
const char *);
2289void T_check_rtems_timers(T_event,
const char *);
2291void T_check_posix_keys(T_event,
const char *);
2293void T_check_posix_message_queues(T_event,
const char *);
2295void T_check_posix_semaphores(T_event,
const char *);
2297void T_check_posix_shms(T_event,
const char *);
2299void T_check_posix_threads(T_event,
const char *);
2301void T_check_posix_timers(T_event,
const char *);
2341 size_t sample_count;
2347 void (*setup)(
void *);
2348 void (*body)(
void *);
2349 bool (*teardown)(
void *, T_ticks *, uint32_t, uint32_t,
unsigned int);
2353#define T_MEASURE_RUNTIME_ALLOW_CLOCK_ISR 0x1
2355#define T_MEASURE_RUNTIME_REPORT_SAMPLES 0x2
2357#define T_MEASURE_RUNTIME_DISABLE_VALID_CACHE 0x10
2359#define T_MEASURE_RUNTIME_DISABLE_HOT_CACHE 0x20
2361#define T_MEASURE_RUNTIME_DISABLE_DIRTY_CACHE 0x40
2363#define T_MEASURE_RUNTIME_DISABLE_MINOR_LOAD 0x80
2365#define T_MEASURE_RUNTIME_DISABLE_MAX_LOAD 0x100
CPU_Counter_ticks _CPU_Counter_read(void)
Returns the current CPU counter value.
Definition: system-clocks.c:117
Definition: t-test-rtems-measure.c:45
Definition: mongoose.c:442
Definition: b1553brm.c:75