http://gcc.gnu.org/bugzilla/show_bug.cgi?id=61029
Manuel López-Ibáñez <manu at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |manu at gcc dot gnu.org Resolution|INVALID |DUPLICATE --- Comment #3 from Manuel López-Ibáñez <manu at gcc dot gnu.org> --- (In reply to Dmitry Chichkov from comment #2) > Results in: > -32768 > -32768 > > But still, it doesn't seem right that code like "a = -a;" has to be writted > as a "a = static_cast<short int>(-a);" to avoid conversion warnings. That > kills readability while not adding any value. Also, the issue above is independent of the implicit conversion, it happens also for int and INT_MIN. Unfortunately, there is some controversy among GCC developers about whether this is the desired behavior of the warning or not. A solution that may be accepted by all is to have a new warning option that does not warn for cases where the target type is the same as the operand type. But someone needs to implement this solution. *** This bug has been marked as a duplicate of bug 40752 ***