50#define QF_CRIT_ENTRY() ((void)0)
54#define QF_CRIT_EXIT() ((void)0)
60#define Q_DEFINE_THIS_MODULE(name_) \
61 static char const Q_this_module_[] = name_;
64#define Q_ASSERT_INCRIT(id_, expr_) \
65 ((expr_) ? ((void)0) : Q_onError(&Q_this_module_[0], (id_)))
68#define Q_ERROR_INCRIT(id_) \
69 (Q_onError(&Q_this_module_[0], (id_)))
72#define Q_ASSERT_ID(id_, expr_) do { \
75 (expr_) ? ((void)0) : Q_onError(&Q_this_module_[0], (id_)); \
80#define Q_ERROR_ID(id_) do { \
83 Q_onError(&Q_this_module_[0], (id_)); \
93#define Q_DEFINE_THIS_MODULE(name_)
96#define Q_ASSERT_INCRIT(id_, expr_) ((void)0)
99#define Q_ERROR_INCRIT(id_) ((void)0)
102#define Q_ASSERT_ID(id_, expr_) ((void)0)
105#define Q_ERROR_ID(id_) ((void)0)
113#define Q_DEFINE_THIS_FILE Q_DEFINE_THIS_MODULE(__FILE__)
116#define Q_ASSERT(expr_) Q_ASSERT_ID(__LINE__, (expr_))
119#define Q_ERROR() Q_ERROR_ID(__LINE__)
122#define Q_REQUIRE_ID(id_, expr_) Q_ASSERT_ID((id_), (expr_))
125#define Q_REQUIRE(expr_) Q_ASSERT(expr_)
128#define Q_REQUIRE_INCRIT(id_, expr_) Q_ASSERT_INCRIT((id_), (expr_))
131#define Q_ENSURE_ID(id_, expr_) Q_ASSERT_ID((id_), (expr_))
134#define Q_ENSURE(expr_) Q_ASSERT(expr_)
137#define Q_ENSURE_INCRIT(id_, expr_) Q_ASSERT_INCRIT((id_), (expr_))
140#define Q_INVARIANT_ID(id_, expr_) Q_ASSERT_ID((id_), (expr_))
143#define Q_INVARIANT(expr_) Q_ASSERT(expr_)
146#define Q_INVARIANT_INCRIT(id_, expr_) Q_ASSERT_INCRIT((id_), (expr_))
149#define Q_ASSERT_STATIC(expr_) extern char Q_static_assert_[(expr_) ? 1 : -1]
153#define Q_NORETURN _Noreturn void
163 char const *
const module,
168#define Q_DIM(array_) (sizeof(array_) / sizeof((array_)[0U]))
int int_t
Alias for assertion-ID numbers in QP assertions and return from QF_run()
Q_NORETURN Q_onError(char const *const module, int_t const id)