[Mesa-dev] [PATCH] mesa/tnl_dd: Fix clang constant-logical-operand warnings.
Matt Turner
mattst88 at gmail.com
Wed Jun 4 18:20:27 PDT 2014
On Wed, Jun 4, 2014 at 4:48 PM, Vinson Lee <vlee at freedesktop.org> wrote:
> This patch fixes these clang constant-logical-operand warnings.
>
> ../../../../../src/mesa/tnl_dd/t_dd_tritmp.h:130:32: warning: use of logical '||' with constant operand [-Wconstant-logical-operand]
> if (DO_TWOSIDE || DO_OFFSET || DO_UNFILLED || DO_TWOSTENCIL)
> ^ ~~~~~~~~~~~
Sorry about the warnings, but I think the code is fine as is. These
are supposed to be constant operands. Look at how the macros are
defined and used:
#define DO_TWOSIDE (IND & R200_TWOSIDE_BIT)
...
#define IND (0)
#define TAG(x) x
#include "tnl_dd/t_dd_tritmp.h"
#define IND (R200_TWOSIDE_BIT)
#define TAG(x) x##_twoside
#include "tnl_dd/t_dd_tritmp.h"
If anything, you should modify the definition to something like
#define DO_TWOSIDE ((IND & R200_TWOSIDE_BIT) != 0)
and hope clang doesn't complain, since they'll still be able to be
evaluated at compile time. Changing to bitwise operations isn't right.
More information about the mesa-dev
mailing list