#if defined(__GNUC__) && !defined(__LCC__) #pragma push_macro("mdbx_trace") #pragma push_macro("mdbx_debug") #pragma push_macro("mdbx_verbose") #pragma push_macro("mdbx_notice") #pragma push_macro("mdbx_warning") #pragma push_macro("mdbx_error") #pragma push_macro("mdbx_assert") #undef mdbx_trace #define mdbx_trace(fmt, ...) \ mdbx_debug_log(MDBX_LOG_TRACE, __func__, __LINE__, fmt "\n", __VA_ARGS__) #undef mdbx_debug #define mdbx_debug(fmt, ...) \ mdbx_debug_log(MDBX_LOG_DEBUG, __func__, __LINE__, fmt "\n", __VA_ARGS__) #undef mdbx_verbose #define mdbx_verbose(fmt, ...) \ mdbx_debug_log(MDBX_LOG_VERBOSE, __func__, __LINE__, fmt "\n", __VA_ARGS__) #undef mdbx_notice #define mdbx_notice(fmt, ...) \ mdbx_debug_log(MDBX_LOG_NOTICE, __func__, __LINE__, fmt "\n", __VA_ARGS__) #undef mdbx_warning #define mdbx_warning(fmt, ...) \ mdbx_debug_log(MDBX_LOG_WARN, __func__, __LINE__, fmt "\n", __VA_ARGS__) #undef mdbx_error #define mdbx_error(fmt, ...) \ mdbx_debug_log(MDBX_LOG_ERROR, __func__, __LINE__, fmt "\n", __VA_ARGS__) #undef mdbx_assert #define mdbx_assert(env, expr) mdbx_ensure(env, expr) #if !defined(__clang__) #pragma GCC optimize("-O0") #endif #endif /* GCC only */