Page MenuHomeFreeBSD

include: add a userland version of __assert_unreachable
ClosedPublic

Authored by kevans on Dec 14 2024, 5:26 AM.
Tags
None
Referenced Files
F114183306: D48077.diff
Tue, Apr 8, 7:33 PM
Unknown Object (File)
Wed, Mar 19, 12:47 PM
Unknown Object (File)
Wed, Mar 19, 12:47 PM
Unknown Object (File)
Wed, Mar 19, 9:31 AM
Unknown Object (File)
Tue, Mar 18, 1:01 PM
Unknown Object (File)
Mon, Mar 17, 2:07 PM
Unknown Object (File)
Mar 6 2025, 7:52 AM
Unknown Object (File)
Feb 27 2025, 8:51 AM

Details

Summary

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.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

kevans created this revision.
This revision is now accepted and ready to land.Dec 14 2024, 5:32 AM

C23 added unreachable () to <stddef.h>. Wouldn't that be preferable to the leading __ for userland?

C23 added unreachable () to <stddef.h>. Wouldn't that be preferable to the leading __ for userland?

My can't assume C23 in system headers, so we'd end up shimming it out with an __unreachable in <sys/cdefs.h> anyways to make it usable