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
F126549830: D48077.id147953.diff
Wed, Aug 20, 9:23 PM
Unknown Object (File)
Tue, Aug 19, 4:05 PM
Unknown Object (File)
Tue, Aug 19, 9:59 AM
Unknown Object (File)
Tue, Aug 19, 7:13 AM
Unknown Object (File)
Mon, Aug 18, 10:09 AM
Unknown Object (File)
Sun, Aug 17, 1:48 AM
Unknown Object (File)
Fri, Aug 15, 7:18 AM
Unknown Object (File)
Fri, Aug 15, 12:16 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