From f1fd96983b0074c082f21f0ecbc6356005619fd0 Mon Sep 17 00:00:00 2001 From: Mathias Agopian Date: Mon, 22 Feb 2021 12:32:38 -0800 Subject: [PATCH] assert_invariant() now terminates the program in failure rename logAndPanic to panicLog, since it doesn't actually panics. --- libs/utils/include/utils/Panic.h | 4 ++-- libs/utils/src/Panic.cpp | 2 +- libs/utils/src/debug.cpp | 1 + 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/libs/utils/include/utils/Panic.h b/libs/utils/include/utils/Panic.h index a81276557a..65d19ecb70 100644 --- a/libs/utils/include/utils/Panic.h +++ b/libs/utils/include/utils/Panic.h @@ -374,7 +374,7 @@ private: namespace details { // these are private, don't use -void logAndPanic( +void panicLog( char const* function, char const* file, int line, const char* format, ...) noexcept; } // namespace details @@ -457,7 +457,7 @@ class UTILS_PUBLIC ArithmeticPanic : public TPanic { * @param format printf-style string describing the error in more details */ #define PANIC_LOG(format, ...) \ - ::utils::details::logAndPanic(__PRETTY_FUNCTION__, \ + ::utils::details::panicLog(__PRETTY_FUNCTION__, \ PANIC_FILE(__FILE__), __LINE__, format, ##__VA_ARGS__) /** diff --git a/libs/utils/src/Panic.cpp b/libs/utils/src/Panic.cpp index a49cf7d7b9..023a79b247 100644 --- a/libs/utils/src/Panic.cpp +++ b/libs/utils/src/Panic.cpp @@ -149,7 +149,7 @@ void TPanic::panic(char const* function, char const* file, int line, const ch namespace details { -void logAndPanic(char const* function, char const* file, int line, const char* format, ...) noexcept { +void panicLog(char const* function, char const* file, int line, const char* format, ...) noexcept { va_list args; va_start(args, format); std::string reason(formatString(format, args)); diff --git a/libs/utils/src/debug.cpp b/libs/utils/src/debug.cpp index d03d7cf938..9900c3c02d 100644 --- a/libs/utils/src/debug.cpp +++ b/libs/utils/src/debug.cpp @@ -22,6 +22,7 @@ namespace utils { void panic(const char *func, const char * file, int line, const char *assertion) noexcept { PANIC_LOG("%s:%d: failed assertion `%s'\n", file, line, assertion); + std::abort(); } } // namespace filament