diff --git a/debug.hpp b/debug.hpp index 57f72fd7..c965e693 100644 --- a/debug.hpp +++ b/debug.hpp @@ -78,6 +78,21 @@ } while (0) +#define WARN_RETURN(CONDITION,VALUE) do { \ + if (const auto& __warn_return = (CONDITION); !!__warn_return) { \ + if constexpr (debug_enabled) { \ + std::clog << __FILE__ << ':' \ + << __LINE__ << ':' \ + << __PRETTY_FUNCTION__ << "; " \ + << #CONDITION << '\n'; \ + breakpoint (); \ + } \ + \ + return (VALUE); \ + } \ +} while (0) + + /////////////////////////////////////////////////////////////////////////////// #define _CHECK_PANIC(FMT,...) do { \ panic ("%s:%s:%i:%s\n" FMT, \