From cb88edbd4e9cb198013129a360cb3d4163ac3837 Mon Sep 17 00:00:00 2001 From: Jose Fonseca Date: Tue, 24 Mar 2015 19:01:46 +0000 Subject: [PATCH] mesa: Avoid MSVC C6334 warning in /analyze mode. MSVC's implementation of signbit(x) uses sizeof(x) with expressions to dispatch to an internal function based on the argument's type (float, double, etc), but that raises a flag with MSVC's own static analyzer, and because this is an inline function in a header it causes substantial warning spam. Reviewed-by: Brian Paul --- src/mesa/main/macros.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/mesa/main/macros.h b/src/mesa/main/macros.h index 2d7a6a1..3344ec8 100644 --- a/src/mesa/main/macros.h +++ b/src/mesa/main/macros.h @@ -789,7 +789,14 @@ NORMALIZE_3FV(GLfloat v[3]) static inline GLboolean DIFFERENT_SIGNS(GLfloat x, GLfloat y) { +#ifdef _MSC_VER +#pragma warning( push ) +#pragma warning( disable : 6334 ) /* sizeof operator applied to an expression with an operator may yield unexpected results */ +#endif return signbit(x) != signbit(y); +#ifdef _MSC_VER +#pragma warning( pop ) +#endif } -- 2.7.4