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
F115277286: D48077.diff
Tue, Apr 22, 3:56 AM
Unknown Object (File)
Sat, Apr 19, 11:33 PM
Unknown Object (File)
Mon, Apr 14, 4:39 PM
Unknown Object (File)
Tue, Apr 8, 7:33 PM
Unknown Object (File)
Mar 19 2025, 12:47 PM
Unknown Object (File)
Mar 19 2025, 12:47 PM
Unknown Object (File)
Mar 19 2025, 9:31 AM
Unknown Object (File)
Mar 18 2025, 1:01 PM

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