summaryrefslogtreecommitdiffhomepage
path: root/compat/assert.hpp
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2025-02-05 05:09:11 +0100
committerStanislaw Halik <sthalik@misaki.pl>2025-02-05 06:22:42 +0100
commit867a22c2a989b3f3a2bc47044226f5f9df6a59fd (patch)
tree8231559aff691e08c36a18f9c8ef993f420d552f /compat/assert.hpp
parent079696334dc0cb61b61788be99ed19bceb4c1fcd (diff)
compat/assert: move internal functions to own namespace
Diffstat (limited to 'compat/assert.hpp')
-rw-r--r--compat/assert.hpp49
1 files changed, 31 insertions, 18 deletions
diff --git a/compat/assert.hpp b/compat/assert.hpp
index 3daf33ce..1333c6a6 100644
--- a/compat/assert.hpp
+++ b/compat/assert.hpp
@@ -12,16 +12,29 @@
#define fm_FORMAT_ARG_MSVC
#endif
-namespace floormat {
+namespace floormat::debug::detail {
+
+void emit_debug(const char* prefix, fm_FORMAT_ARG_MSVC const char* fmt, ...) fm_FORMAT_ARG(2);
+void emit_debug0(fm_FORMAT_ARG_MSVC const char* fmt, ...) fm_FORMAT_ARG(1);
+void emit_debug_loc(const char* prefix, const char* file, int line, fm_FORMAT_ARG_MSVC const char* fmt, ...) fm_FORMAT_ARG(4);
+void emit_debug_loc0(const char* file, int line, fm_FORMAT_ARG_MSVC const char* fmt, ...) fm_FORMAT_ARG(3);
+
+[[noreturn]] CORRADE_NEVER_INLINE void emit_assert_fail(const char* expr, const char* file, int line);
+[[noreturn]] CORRADE_NEVER_INLINE void emit_abort(const char* file, int line, fm_FORMAT_ARG_MSVC const char* fmt, ...) fm_FORMAT_ARG(3);
+[[noreturn]] CORRADE_NEVER_INLINE void emit_abort();
+
+} // namespace floormat::debug::detail
+
-void fm_emit_debug(const char* prefix, fm_FORMAT_ARG_MSVC const char* fmt, ...) fm_FORMAT_ARG(2);
-void fm_emit_debug0(fm_FORMAT_ARG_MSVC const char* fmt, ...) fm_FORMAT_ARG(1);
-void fm_emit_debug_loc(const char* prefix, const char* file, int line, fm_FORMAT_ARG_MSVC const char* fmt, ...) fm_FORMAT_ARG(4);
-void fm_emit_debug_loc0(const char* file, int line, fm_FORMAT_ARG_MSVC const char* fmt, ...) fm_FORMAT_ARG(3);
+namespace floormat::debug {
-[[noreturn]] CORRADE_NEVER_INLINE void fm_emit_assert_fail(const char* expr, const char* file, int line);
-[[noreturn]] CORRADE_NEVER_INLINE void fm_emit_abort(const char* file, int line, fm_FORMAT_ARG_MSVC const char* fmt, ...) fm_FORMAT_ARG(3);
-[[noreturn]] CORRADE_NEVER_INLINE void fm_emit_abort();
+void set_soft_assert_mode(bool value);
+bool soft_assert_mode();
+
+} // namespace floormat::debug
+
+
+namespace floormat {
} // namespace floormat
@@ -30,14 +43,14 @@ void fm_emit_debug_loc0(const char* file, int line, fm_FORMAT_ARG_MSVC const cha
#pragma GCC diagnostic ignored "-Wunused-macros"
#endif
-#define fm_assert(...) ((__VA_ARGS__) ? void() : ::floormat::fm_emit_assert_fail(#__VA_ARGS__, __FILE__, __LINE__))
-#define fm_abort(...) (::floormat::fm_emit_abort(__FILE__, __LINE__, __VA_ARGS__))
-#define fm_warn(...) (::floormat::fm_emit_debug("warning: ", __VA_ARGS__))
-#define fm_error(...) (::floormat::fm_emit_debug("error: ", __VA_ARGS__))
-#define fm_log(...) (::floormat::fm_emit_debug0(__VA_ARGS__))
-#define fm_debug(...) (::floormat::fm_emit_debug0(__VA_ARGS__))
-#define fm_debug_loc(pfx, ...) (::floormat::fm_emit_debug_loc(pfx, __FILE__, __LINE__,__VA_ARGS__))
-#define fm_debug_loc0(...) (::floormat::fm_emit_debug_loc0(__FILE__, __LINE__,__VA_ARGS__))
+#define fm_assert(...) ((__VA_ARGS__) ? void() : ::floormat::debug::detail::emit_assert_fail(#__VA_ARGS__, __FILE__, __LINE__))
+#define fm_abort(...) (::floormat::debug::detail::emit_abort(__FILE__, __LINE__, __VA_ARGS__))
+#define fm_warn(...) (::floormat::debug::detail::emit_debug("warning: ", __VA_ARGS__))
+#define fm_error(...) (::floormat::debug::detail::emit_debug("error: ", __VA_ARGS__))
+#define fm_log(...) (::floormat::debug::detail::emit_debug0(__VA_ARGS__))
+#define fm_debug(...) (::floormat::debug::detail::emit_debug0(__VA_ARGS__))
+#define fm_debug_loc(pfx, ...) (::floormat::debug::detail::emit_debug_loc(pfx, __FILE__, __LINE__,__VA_ARGS__))
+#define fm_debug_loc0(...) (::floormat::debug::detail::emit_debug_loc0(__FILE__, __LINE__,__VA_ARGS__))
#if defined FM_NO_DEBUG && !defined FM_NO_DEBUG2
#define FM_NO_DEBUG2
@@ -76,7 +89,7 @@ void fm_emit_debug_loc0(const char* file, int line, fm_FORMAT_ARG_MSVC const cha
ERR_nospace << #__VA_ARGS__; \
ERR_nospace << " expected: " << a; \
ERR_nospace << " actual: " << b; \
- fm_emit_abort(); \
+ ::floormat::debug::detail::emit_abort(); \
} \
})(__VA_ARGS__)
@@ -93,7 +106,7 @@ void fm_emit_debug_loc0(const char* file, int line, fm_FORMAT_ARG_MSVC const cha
ERR_nospace << #__VA_ARGS__; \
ERR_nospace << "not expected: " << a; \
ERR_nospace << " actual: " << b; \
- fm_emit_abort(); \
+ ::floormat::debug::detail::emit_abort(); \
} \
})(__VA_ARGS__)