mirror of https://github.com/OpenTTD/OpenTTD
Fix: asserts unintentially being partially disabled in release-builds (#11268)
The nlohmann-json header file includes assert.h, which rudely resets the assert macro to what that header thinks is right. As we set the assert macro to be active with release builds when WITH_ASSERT is active, this means that every file including nlohmann-json has their asserts disabled (for release-builds) but files that don't do no. Let's avoid this issue, by telling nlohmann to not include assert.h.pull/11273/head
parent
8c742b456f
commit
d725fa14a2
|
@ -394,6 +394,10 @@ void NORETURN AssertFailedError(int line, const char *file, const char *expressi
|
|||
# define assert(expression) if (unlikely(!(expression))) AssertFailedError(__LINE__, __FILE__, #expression);
|
||||
#endif
|
||||
|
||||
/* Define JSON_ASSERT, which is used by nlohmann-json. Otherwise the header-file
|
||||
* will re-include assert.h, and reset the assert macro. */
|
||||
#define JSON_ASSERT(x) assert(x)
|
||||
|
||||
#if defined(MAX_PATH)
|
||||
/* It's already defined, no need to override */
|
||||
#elif defined(PATH_MAX) && PATH_MAX > 0
|
||||
|
|
Loading…
Reference in New Issue