summaryrefslogtreecommitdiff
path: root/builtin
diff options
context:
space:
mode:
Diffstat (limited to 'builtin')
-rw-r--r--builtin/assert.h6
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