-Wsurprising option can help find bugs involving
expression evaluation or in
DO loops with non-integral iteration variables
Cases found by this option might indicate a difference of
interpretation between the author of the code involved, and
a standard-conforming compiler such as
Such a difference might produce actual bugs.
In any case, changing the code to explicitly do what the
programmer might have expected it to do, so
other compilers are more likely to follow the programmer's
expectations, might be worthwhile, especially if such changes
make the program work better.