diff options
Diffstat (limited to 'builtin/assert.h')
-rw-r--r-- | builtin/assert.h | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/builtin/assert.h b/builtin/assert.h index 2e943f7615..71a275bf23 100644 --- a/builtin/assert.h +++ b/builtin/assert.h @@ -21,7 +21,12 @@ extern "C" { #ifdef CONFIG_DEBUG_ASSERT_REBOOTS #ifdef CONFIG_DEBUG_ASSERT_BRIEF -noreturn void panic_assert_fail(const char *fname, int linenum); +#if defined(__cplusplus) && !defined(__clang__) +[[noreturn]] +#else +noreturn +#endif +void panic_assert_fail(const char *fname, int linenum); #define ASSERT(cond) \ do { \ if (!(cond)) \ @@ -30,7 +35,12 @@ noreturn void panic_assert_fail(const char *fname, int linenum); #else /* !CONFIG_DEBUG_ASSERT_BRIEF */ -noreturn void panic_assert_fail(const char *msg, const char *func, +#if defined(__cplusplus) && !defined(__clang__) +[[noreturn]] +#else +noreturn +#endif +void panic_assert_fail(const char *msg, const char *func, const char *fname, int linenum); #define ASSERT(cond) \ do { \ |