From 3cd26b677ad9128ece7de7acdcbd349e96bb2c1d Mon Sep 17 00:00:00 2001 From: "kwiberg@webrtc.org" Date: Wed, 10 Dec 2014 08:57:14 +0000 Subject: [PATCH] Revert r7858 ("DCHECK: Reference condition parameter in release builds") Apparently Visual Studio is cleverer than I am at figuring out what local variables are actually unused. TBR=pbos@webrtc.org Review URL: https://webrtc-codereview.appspot.com/32739004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@7859 4adac7df-926f-26a2-2b94-8c16560cd09d --- webrtc/base/checks.h | 29 +++++++++---------- .../codecs/ilbc/audio_encoder_ilbc.cc | 2 +- 2 files changed, 14 insertions(+), 17 deletions(-) diff --git a/webrtc/base/checks.h b/webrtc/base/checks.h index d2cc324e2..a25d808bc 100644 --- a/webrtc/base/checks.h +++ b/webrtc/base/checks.h @@ -71,12 +71,10 @@ namespace rtc { #define LAZY_STREAM(stream, condition) \ !(condition) ? static_cast(0) : rtc::FatalMessageVoidify() & (stream) -// The actual stream used isn't important. We reference condition in the code -// but don't evaluate it; this is to avoid "unused variable" warnings. -#define EAT_STREAM_PARAMETERS(condition) \ - true || (condition) \ - ? static_cast(0) \ - : rtc::FatalMessageVoidify() & rtc::FatalMessage("", 0).stream() +// The actual stream used isn't important. +#define EAT_STREAM_PARAMETERS \ + true ? static_cast(0) \ + : rtc::FatalMessageVoidify() & rtc::FatalMessage("", 0).stream() // CHECK dies with a fatal error if condition is not true. It is *not* // controlled by NDEBUG, so the check will be executed regardless of @@ -161,9 +159,8 @@ DEFINE_CHECK_OP_IMPL(GT, > ) #define CHECK_GE(val1, val2) CHECK_OP(GE, >=, val1, val2) #define CHECK_GT(val1, val2) CHECK_OP(GT, > , val1, val2) -// The DCHECK macro is equivalent to CHECK except that it only generates code -// in debug builds. It does reference the condition parameter in all cases, -// though, so callers won't risk getting warnings about unused variables. +// The DCHECK macro is equivalent to CHECK except that it only generates code in +// debug builds. #if (!defined(NDEBUG) || defined(DCHECK_ALWAYS_ON)) #define DCHECK(condition) CHECK(condition) #define DCHECK_EQ(v1, v2) CHECK_EQ(v1, v2) @@ -173,13 +170,13 @@ DEFINE_CHECK_OP_IMPL(GT, > ) #define DCHECK_GE(v1, v2) CHECK_GE(v1, v2) #define DCHECK_GT(v1, v2) CHECK_GT(v1, v2) #else -#define DCHECK(condition) EAT_STREAM_PARAMETERS(condition) -#define DCHECK_EQ(v1, v2) EAT_STREAM_PARAMETERS((v1) == (v2)) -#define DCHECK_NE(v1, v2) EAT_STREAM_PARAMETERS((v1) != (v2)) -#define DCHECK_LE(v1, v2) EAT_STREAM_PARAMETERS((v1) <= (v2)) -#define DCHECK_LT(v1, v2) EAT_STREAM_PARAMETERS((v1) < (v2)) -#define DCHECK_GE(v1, v2) EAT_STREAM_PARAMETERS((v1) >= (v2)) -#define DCHECK_GT(v1, v2) EAT_STREAM_PARAMETERS((v1) > (v2)) +#define DCHECK(condition) EAT_STREAM_PARAMETERS +#define DCHECK_EQ(v1, v2) EAT_STREAM_PARAMETERS +#define DCHECK_NE(v1, v2) EAT_STREAM_PARAMETERS +#define DCHECK_LE(v1, v2) EAT_STREAM_PARAMETERS +#define DCHECK_LT(v1, v2) EAT_STREAM_PARAMETERS +#define DCHECK_GE(v1, v2) EAT_STREAM_PARAMETERS +#define DCHECK_GT(v1, v2) EAT_STREAM_PARAMETERS #endif // This is identical to LogMessageVoidify but in name. diff --git a/webrtc/modules/audio_coding/codecs/ilbc/audio_encoder_ilbc.cc b/webrtc/modules/audio_coding/codecs/ilbc/audio_encoder_ilbc.cc index 4dcef3b9a..78d10503e 100644 --- a/webrtc/modules/audio_coding/codecs/ilbc/audio_encoder_ilbc.cc +++ b/webrtc/modules/audio_coding/codecs/ilbc/audio_encoder_ilbc.cc @@ -60,7 +60,7 @@ bool AudioEncoderIlbc::EncodeInternal(uint32_t timestamp, EncodedInfo* info) { const size_t expected_output_len = num_10ms_frames_per_packet_ == 2 ? 38 : 50; - DCHECK_GE(max_encoded_bytes, expected_output_len); + CHECK_GE(max_encoded_bytes, expected_output_len); // Save timestamp if starting a new packet. if (num_10ms_frames_buffered_ == 0)