diff --git a/components/newlib/platform_include/assert.h b/components/newlib/platform_include/assert.h index d800985b2a..ba01c798c9 100644 --- a/components/newlib/platform_include/assert.h +++ b/components/newlib/platform_include/assert.h @@ -23,8 +23,19 @@ #include_next - #if defined(CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT) && !defined(NDEBUG) -#undef assert -#define assert(__e) (likely(__e)) ? (void)0 : abort() + #undef assert + #define assert(__e) (likely(__e)) ? (void)0 : abort() +#else + /* moved part of toolchain provided assert to there then + * we can tweak the original assert macro to perform likely + * before deliver it to original toolchain implementation + */ + #undef assert + #ifdef NDEBUG + # define assert(__e) ((void)0) + #else + # define assert(__e) (likely(__e) ? (void)0 : __assert_func (__FILE__, __LINE__, \ + __ASSERT_FUNC, #__e)) + #endif #endif