Call std::abort in llassert_always. LL_ERRS will already terminate/crass the processes, but putting a [noreturn] function, even if never reached, makes it obvious to the compiler that the program will abort.
parent
fd98fbf0a5
commit
755c765263
|
|
@ -80,7 +80,7 @@ const int LL_ERR_NOERR = 0;
|
|||
|
||||
#endif // !_DEBUG
|
||||
|
||||
#define llassert_always_msg(func, msg) if (LL_UNLIKELY(!(func))) LL_ERRS() << "ASSERT (" << msg << ")" << LL_ENDL
|
||||
#define llassert_always_msg(func, msg) if (LL_UNLIKELY(!(func))) { LL_ERRS() << "ASSERT (" << msg << ")" << LL_ENDL; /*<FS:ND> call abort, this will not be reached but signaled GCC after this line the program exists*/ std::abort(); }
|
||||
|
||||
#define llassert_always(func) llassert_always_msg(func, #func)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue