58#define QF_CRIT_ENTRY() ((void)0)
62#define QF_CRIT_EXIT() ((void)0)
68#define Q_DEFINE_THIS_MODULE(name_) \
69 static char const Q_this_module_[] = name_;
72#define Q_ASSERT_INCRIT(id_, expr_) \
73 ((expr_) ? ((void)0) : Q_onError(&Q_this_module_[0], (id_)))
76#define Q_ERROR_INCRIT(id_) \
77 (Q_onError(&Q_this_module_[0], (id_)))
80#define Q_ASSERT_ID(id_, expr_) do { \
83 (expr_) ? ((void)0) : Q_onError(&Q_this_module_[0], (id_)); \
88#define Q_ERROR_ID(id_) do { \
91 Q_onError(&Q_this_module_[0], (id_)); \
101#define Q_DEFINE_THIS_MODULE(name_)
104#define Q_ASSERT_INCRIT(id_, expr_) ((void)0)
107#define Q_ERROR_INCRIT(id_) ((void)0)
110#define Q_ASSERT_ID(id_, expr_) ((void)0)
113#define Q_ERROR_ID(id_) ((void)0)
121#define Q_DEFINE_THIS_FILE Q_DEFINE_THIS_MODULE(__FILE__)
124#define Q_ASSERT(expr_) Q_ASSERT_ID(__LINE__, (expr_))
127#define Q_ERROR() Q_ERROR_ID(__LINE__)
130#define Q_REQUIRE_ID(id_, expr_) Q_ASSERT_ID((id_), (expr_))
133#define Q_REQUIRE(expr_) Q_ASSERT(expr_)
136#define Q_REQUIRE_INCRIT(id_, expr_) Q_ASSERT_INCRIT((id_), (expr_))
139#define Q_ENSURE_ID(id_, expr_) Q_ASSERT_ID((id_), (expr_))
142#define Q_ENSURE(expr_) Q_ASSERT(expr_)
145#define Q_ENSURE_INCRIT(id_, expr_) Q_ASSERT_INCRIT((id_), (expr_))
148#define Q_INVARIANT_ID(id_, expr_) Q_ASSERT_ID((id_), (expr_))
151#define Q_INVARIANT(expr_) Q_ASSERT(expr_)
154#define Q_INVARIANT_INCRIT(id_, expr_) Q_ASSERT_INCRIT((id_), (expr_))
157#define Q_ASSERT_STATIC(expr_) extern char Q_static_assert_[(expr_) ? 1 : -1]
161#define Q_NORETURN _Noreturn void
171 char const *
const module,
176#define Q_DIM(array_) (sizeof(array_) / sizeof((array_)[0U]))
int int_t
Alias for assertion-ID numbers in QP assertions and return from QP::QF::run()
Q_NORETURN Q_onError(char const *const module, int_t const id)