The branch main has been updated by kevans:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=712f81feea416e9f8aaf040173883876a50a7d34

commit 712f81feea416e9f8aaf040173883876a50a7d34
Author:     Kyle Evans <kev...@freebsd.org>
AuthorDate: 2025-01-13 00:41:25 +0000
Commit:     Kyle Evans <kev...@freebsd.org>
CommitDate: 2025-01-13 00:41:37 +0000

    include: add a userland version of __assert_unreachable
    
    The kernel has had a version of this since
    c79cee71363d ("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
---
 include/assert.h | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/include/assert.h b/include/assert.h
index cc2a5f8b9e64..a3dbe933e18f 100644
--- a/include/assert.h
+++ b/include/assert.h
@@ -43,15 +43,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_

Reply via email to