[cfe-dev] -Wfloat-equal issued too much.
Javier Múgica
javier_3 at runbox.com
Sun Jun 21 01:02:46 PDT 2015
Before I stop reporting on Clang, just some ideas:
The code at SemaChecking.cpp, function Sema::CheckFloatComparison, issues the warning warn_floatingpoint_eq (-Wfloat-equal) in case of using == or != with floating point operands, but prevents the issuing of the warning in some special cases, among which:
// Special case: check for comparisons against literals that can be exactly
// represented by APFloat.
So if the code reads if(x==0.0F) no warning is issued, but if the user simply writes if(x==0) the warning is issued.
Given that both pieces of code get translated to exactly the same and the user obviously knows what he is doing when writing if(x==0), my point is that in the second case the warning should not be issued too.
I get dozens of annoying warning because of comparisons against zero, but I don't want to turn off that warning because I think it's really meaningful in the other cases, e.g. if(x==y).
Note: I finally turned off that warning, I filled the dignostics output with useless warnings.
More information about the cfe-dev
mailing list