$ man gcc
......
-Wconversion
Warn for implicit conversions that may alter a value. This includes conversions
between real and integer, like "abs (x)" when "x" is "double"; conversions between
signed and unsigned, like "unsigned ui = -1"; and conversions to smaller types, like
"sqrtf (M_PI)". Do not warn for explicit casts like "abs ((int) x)" and "ui =
(unsigned) -1", or if the value is not changed by the conversion like in "abs
(2.0)". Warnings about conversions between signed and unsigned integers can be
disabled by using -Wno-sign-conversion.