From 5db46ab9e64564705443eba0f7e00c7fd71c2366 Mon Sep 17 00:00:00 2001 From: Felipe Neves Date: Fri, 3 Jan 2020 14:39:25 -0300 Subject: [PATCH] assert: extend likely macro to be called when silent assertions are off --- components/newlib/platform_include/assert.h | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/components/newlib/platform_include/assert.h b/components/newlib/platform_include/assert.h index d800985b2..ba01c798c 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