Include: PoolAlloc: do not rely on CMake define
authorJohannes Kauffmann <19662702+JohannesKauffmann@users.noreply.github.com>
Wed, 23 Nov 2022 23:14:23 +0000 (00:14 +0100)
committerJeremy Hayes <jeremy-lunarg@users.noreply.github.com>
Tue, 29 Nov 2022 21:58:29 +0000 (14:58 -0700)
On Windows, _DEBUG is defined by CMake if CMAKE_BUILD_TYPE is Debug. But
on other platforms, this is not the case and thus in debug mode, the
guard checks are not enabled.

Instead, rely on the NDEBUG define, which is always defined in release
mode (Release, RelWithDebInfo and MinSizeRel). This works reliably on
all platforms: It is also used to enable or disable assertions.

glslang/Include/PoolAlloc.h

index 1f5cac7..15adbaf 100644 (file)
@@ -37,7 +37,7 @@
 #ifndef _POOLALLOC_INCLUDED_
 #define _POOLALLOC_INCLUDED_
 
-#ifdef _DEBUG
+#ifndef NDEBUG
 #  define GUARD_BLOCKS  // define to enable guard block sanity checking
 #endif