The C4800 warning in the microsoft c++ compiler as described here:
https://msdn.microsoft.com/en-us/library/b6801kcy.aspx
makes this code:
// C4800.cpp
// compile with: /W3
int main() {
int i = 0;
// try..
// bool i = 0;
bool j = i; // C4800
j++;
}
throw the C4800 warning: "'type' : forcing value to bool 'true' or 'false' (performance warning)"
Microsoft seems to think it's reasonably important, and has it as a Level3 warning, however Clang does apparently think it's not, as has zero complaints about it at -Weverything, its maximum warning level.
Is there any real world bug someone can come up with that C4800 would point out that would make it worth having it enabled?