diff options
Diffstat (limited to 'builtin')
-rw-r--r-- | builtin/assert.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/builtin/assert.h b/builtin/assert.h index 2db11115a7..1a4c64eb68 100644 --- a/builtin/assert.h +++ b/builtin/assert.h @@ -15,14 +15,15 @@ #ifdef CONFIG_DEBUG_ASSERT_REBOOTS #ifdef CONFIG_DEBUG_ASSERT_BRIEF -extern void panic_assert_fail(const char *fname, int linenum); +extern void panic_assert_fail(const char *fname, int linenum) + __attribute__((noreturn)); #define ASSERT(cond) do { \ if (!(cond)) \ panic_assert_fail(__FILE__, __LINE__); \ } while (0) #else extern void panic_assert_fail(const char *msg, const char *func, - const char *fname, int linenum); + const char *fname, int linenum) __attribute__((noreturn)); #define ASSERT(cond) do { \ if (!(cond)) \ panic_assert_fail(#cond, __func__, __FILE__, \ @@ -33,6 +34,7 @@ extern void panic_assert_fail(const char *msg, const char *func, #define ASSERT(cond) do { \ if (!(cond)) \ __asm("bkpt"); \ + __builtin_unreachable();\ } while (0) #endif #else |