mirror of
https://github.com/opnsense/src.git
synced 2026-02-18 18:20:26 -05:00
include: add a userland version of __assert_unreachable
The kernel has had a version of this since
c79cee7136 ("kernel: provide panicky version of __unreachable"), and
userland can benefit from the same. __unreachable is largely
inadequate because it's *not* an assertion of any sort, so we're not
really alerted to a problem that we could've anticipated.
Reviewed by: emaste, imp, jhb, olce
Differential Revision: https://reviews.freebsd.org/D48077
(cherry picked from commit 712f81feea416e9f8aaf040173883876a50a7d34)
This commit is contained in:
parent
01ade56eba
commit
235fe911df
1 changed files with 7 additions and 0 deletions
|
|
@ -45,15 +45,22 @@
|
|||
|
||||
#undef assert
|
||||
#undef _assert
|
||||
#undef __assert_unreachable
|
||||
|
||||
#ifdef NDEBUG
|
||||
#define assert(e) ((void)0)
|
||||
#define _assert(e) ((void)0)
|
||||
#if __BSD_VISIBLE
|
||||
#define __assert_unreachable() __unreachable()
|
||||
#endif /* __BSD_VISIBLE */
|
||||
#else
|
||||
#define _assert(e) assert(e)
|
||||
|
||||
#define assert(e) ((e) ? (void)0 : __assert(__func__, __FILE__, \
|
||||
__LINE__, #e))
|
||||
#if __BSD_VISIBLE
|
||||
#define __assert_unreachable() assert(0 && "unreachable segment reached")
|
||||
#endif /* __BSD_VISIBLE */
|
||||
#endif /* NDEBUG */
|
||||
|
||||
#ifndef _ASSERT_H_
|
||||
|
|
|
|||
Loading…
Reference in a new issue