Add notpossible keyword

This is the same as `unreachable` except it always traps violations,
even if we're not running in MODE=dbg. This is useful for impossible
conditions relating to system calls. It avoids terrifying bugs where
control falls through to an unrelated function.
This commit is contained in:
Justine Tunney 2022-09-03 20:35:31 -07:00
parent b66bd064d8
commit 0c70e8963d
12 changed files with 27 additions and 26 deletions

View file

@ -40,6 +40,5 @@ wontreturn void abort(void) {
raise(SIGABRT);
signal(SIGABRT, SIG_DFL);
raise(SIGABRT);
asm("hlt");
unreachable;
notpossible;
}