summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--builtin/assert.h14
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 { \