From 85fd729da291daea50c664e12f15d03341fa8088 Mon Sep 17 00:00:00 2001 From: divverent Date: Sun, 2 Jan 2011 22:51:37 +0000 Subject: [PATCH] fix a warning by clang git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@10690 d7cf8633-e32d-0410-b094-e92efae38249 --- model_brush.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/model_brush.h b/model_brush.h index ab2a5121..9d67f60b 100644 --- a/model_brush.h +++ b/model_brush.h @@ -703,9 +703,10 @@ typedef struct q3mbrushside_s } q3mbrushside_t; -#define CHECKPVSBIT(pvs,b) ((b) >= 0 ? ((pvs)[(b) >> 3] & (1 << ((b) & 7))) : false) -#define SETPVSBIT(pvs,b) ((b) >= 0 ? ((pvs)[(b) >> 3] |= (1 << ((b) & 7))) : false) -#define CLEARPVSBIT(pvs,b) ((b) >= 0 ? ((pvs)[(b) >> 3] &= ~(1 << ((b) & 7))) : false) +// the first cast is to shut up a stupid warning by clang, the second cast is to make both sides have the same type +#define CHECKPVSBIT(pvs,b) ((b) >= 0 ? (unsigned char) ((pvs)[(b) >> 3] & (1 << ((b) & 7))) : (unsigned char) false) +#define SETPVSBIT(pvs,b) ((b) >= 0 ? (unsigned char) ((pvs)[(b) >> 3] |= (1 << ((b) & 7))) : (unsigned char) false) +#define CLEARPVSBIT(pvs,b) ((b) >= 0 ? (unsigned char) ((pvs)[(b) >> 3] &= ~(1 << ((b) & 7))) : (unsigned char) false) #endif -- 2.39.2