On Fedora 32 with Clang 10, I get this warning/error when building
coreclr:
/home/omajid/devel/dotnet/runtime/src/coreclr/src/jit/emitarm.cpp:5553:31: error: converting the enum constant to a boolean [-Werror,-Wint-in-bool-context]
assert(ins == INS_cbz || INS_cbnz);
^
This looks like a bug that should be fixed: ins should be compared with
the constant on both sides of the boolean operator. Otherwise the
conditional can always evaluate to true.
else if (fmt == IF_T1_I)
{
assert(id != NULL);
- assert(ins == INS_cbz || INS_cbnz);
+ assert(ins == INS_cbz || ins == INS_cbnz);
assert((distVal & 1) == 0);
assert(distVal >= 0);
assert(distVal <= 126);