Make ABSL_ASSUME() see the unevaluated operand regardless of NDEBUG PiperOrigin-RevId: 940922383 Change-Id: I8b283a40f5f6de94f44de05e46f8e08ec21b397f
diff --git a/absl/base/optimization.h b/absl/base/optimization.h index 9b52a92..bce5ec5 100644 --- a/absl/base/optimization.h +++ b/absl/base/optimization.h
@@ -266,7 +266,8 @@ // int y = x / 16; // #if !defined(NDEBUG) -#define ABSL_ASSUME(cond) assert(cond) +#define ABSL_ASSUME(cond) \ + (ABSL_PREDICT_TRUE((cond)) ? void() : assert(false && #cond)) #elif ABSL_HAVE_BUILTIN(__builtin_assume) #define ABSL_ASSUME(cond) __builtin_assume(cond) #elif defined(_MSC_VER)