qcms has a bunch of code like: float p; ... p *= 65535.; Since the type of 65535. is a double this code will promote p to a double to do the multiply. This causes the, likely unintended, conversion to double and conversion back to float. It would be nice if we could warn about situations like this.
I am a student from SJCE, Mysore India and would like to take up this bug.
FWIW, GCC >= 4.6 already has an option to do this (-Wdouble-promotion). The implementation was straightforward; I don't think it would be too hard to port it to clang, if it's not already there.
Sounds like a good minor reason to bump gcc...if anyone feels bored :)