From e03c3bb34fb7a2bdac847a23f10277285d9abf61 Mon Sep 17 00:00:00 2001 From: Ben Payne Date: Mon, 2 Feb 2015 18:17:37 -0500 Subject: [PATCH] Fix TORQUE_UNUSED for recent versions of MSVC Since there's now apparently no way to suppress the warning for a particular variable without adding at least some extra size to the executable, just turn the warning off in release builds. We leave it on in debug since it can sometimes help catch bugs, and we don't care about a little extra code in that configuration. --- Engine/source/platform/types.visualc.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Engine/source/platform/types.visualc.h b/Engine/source/platform/types.visualc.h index e383c1ea7..36d075d07 100644 --- a/Engine/source/platform/types.visualc.h +++ b/Engine/source/platform/types.visualc.h @@ -32,6 +32,16 @@ typedef signed _int64 S64; typedef unsigned _int64 U64; +// The types.h version of TORQUE_UNUSED no longer works for recent versions of MSVC. +// Since it appears that MS has made this impossible to do in a zero-overhead way, +// just turn the warning off in release builds. +#undef TORQUE_UNUSED +#ifdef TORQUE_DEBUG +#define TORQUE_UNUSED(var) ((0,0) ? (void)(var) : (void)0) +#else +#pragma warning(disable: 4189) // local variable is initialized but not referenced +#define TORQUE_UNUSED(var) ((void)0) +#endif //-------------------------------------- // Compiler Version