Hack around buggy clang constant warning
clang whines that static_assert(A && B) uses && with a constant operand, but this is necessary and correct, because static_assert only takes compile-time constant expressions. However, !!A && !!B does not warn. Switch to !!A && !!B to silence the clang whining. similar/main/collide.cpp:2566:63: warning: use of logical '&&' with constant operand [-Wconstant-logical-operand] static_assert(collision_result_t<OBJ_WALL, OBJ_ROBOT>::value && collision_result_t<OBJ_ROBOT, OBJ_WALL>::value, "OBJ_WALL" " " "OBJ_ROBOT");
This commit is contained in:
parent
420c2adee1
commit
7b1e774cb8
|
@ -2562,7 +2562,7 @@ const collision_outer_array_t CollisionResult = collide_init(make_tree_index_seq
|
|||
#undef DISABLE_COLLISION
|
||||
#undef ENABLE_COLLISION
|
||||
|
||||
#define ENABLE_COLLISION(T1,T2) static_assert(collision_result_t<T1, T2>::value && collision_result_t<T2, T1>::value, #T1 " " #T2);
|
||||
#define ENABLE_COLLISION(T1,T2) static_assert(!!collision_result_t<T1, T2>::value && !!collision_result_t<T2, T1>::value, #T1 " " #T2);
|
||||
#define DISABLE_COLLISION(T1,T2) static_assert(!collision_result_t<T1, T2>::value && !collision_result_t<T2, T1>::value, #T1 " " #T2);
|
||||
|
||||
ENABLE_COLLISION( OBJ_WALL, OBJ_ROBOT );
|
||||
|
|
Loading…
Reference in a new issue