From 39b5a334a6bb519b150fe022988eeb2f520bcb97 Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Wed, 8 Feb 2023 18:16:34 -0800 Subject: [PATCH] ircd: Attribute nodebug on assert frames, artificial ineffective for clang. --- include/ircd/assert.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/ircd/assert.h b/include/ircd/assert.h index f0501de6e..f7e9d681d 100644 --- a/include/ircd/assert.h +++ b/include/ircd/assert.h @@ -117,7 +117,7 @@ extern "C" // for clang /// Override the standard assert behavior, if enabled, to trap into the /// debugger as close as possible to the offending site. extern inline void - __attribute__((cold, flatten, always_inline, gnu_inline, artificial)) + __attribute__((cold, flatten, always_inline, gnu_inline, artificial, nodebug)) __assert_fail(const char *const __assertion, const char *const __file, unsigned int __line, @@ -137,7 +137,7 @@ extern "C" // for clang /// aborting the program. /// extern inline void -__attribute__((always_inline, gnu_inline, artificial)) +__attribute__((always_inline, gnu_inline, artificial, nodebug)) ircd::debugtrap() noexcept { @@ -154,7 +154,7 @@ noexcept /// Trap on false expression whether or not NDEBUG. template extern inline void -__attribute__((always_inline, gnu_inline, artificial)) +__attribute__((always_inline, gnu_inline, artificial, nodebug)) ircd::always_assert(expr&& x) noexcept {