------- Comment #1 from pinskia at gcc dot gnu dot org 2007-06-12 17:20 ------- The conversions are not Unnecessary, they are necessary because short_var+short_var when that would overflow the range of short is still defined.
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32309