diff --git a/core/include/assert.h b/core/include/assert.h index 80742fb5e..d7833d02a 100644 --- a/core/include/assert.h +++ b/core/include/assert.h @@ -25,6 +25,11 @@ extern "C" { #endif +/** + * @brief the string that is passed to panic in case of a failing assertion + */ +extern const char assert_crash_message[]; + /** * @brief abort the program if assertion is false * @@ -41,7 +46,7 @@ extern "C" { #ifdef NDEBUG #define assert(ignore)((void) 0) #else -#define assert(cond) ((cond) ? (void)0 : core_panic(PANIC_ASSERT_FAIL, "assert")) +#define assert(cond) ((cond) ? (void)0 : core_panic(PANIC_ASSERT_FAIL, assert_crash_message)) #endif #ifdef __cplusplus diff --git a/core/panic.c b/core/panic.c index 299fdd3be..99905a06b 100644 --- a/core/panic.c +++ b/core/panic.c @@ -24,6 +24,7 @@ #include #include +#include "assert.h" #include "cpu.h" #include "irq.h" #include "lpm.h" @@ -34,6 +35,8 @@ #include "ps.h" #endif +const char assert_crash_message[] = "Failed assertion."; + /* flag preventing "recursive crash printing loop" */ static int crashed = 0;