From f157ad8a35d0661804041b2b18c3bc365752a800 Mon Sep 17 00:00:00 2001 From: Daniel Bertalan Date: Sat, 7 May 2022 17:46:27 +0200 Subject: [PATCH] Kernel: Do not implement VERIFY_NOT_REACHED() as VERIFY(false) If a switch case ends in VERIFY_NOT_REACHED(), gcc 12 thinks it might fall through. --- Kernel/Assertions.h | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Kernel/Assertions.h b/Kernel/Assertions.h index 9c74d12c4e..d0933c0faa 100644 --- a/Kernel/Assertions.h +++ b/Kernel/Assertions.h @@ -18,15 +18,14 @@ __assertion_failed(#expr, __FILE__, __LINE__, __PRETTY_FUNCTION__); \ } while (0) -#define VERIFY_NOT_REACHED() VERIFY(false) +#define VERIFY_NOT_REACHED() __assertion_failed("not reached", __FILE__, __LINE__, __PRETTY_FUNCTION__) extern "C" { [[noreturn]] void _abort(); [[noreturn]] void abort(); } -static constexpr bool TODO = false; -#define TODO() VERIFY(TODO) +#define TODO() __assertion_failed("TODO", __FILE__, __LINE__, __PRETTY_FUNCTION__) #if ARCH(I386) || ARCH(X86_64) # define VERIFY_INTERRUPTS_DISABLED() VERIFY(!(cpu_flags() & 0x200))