re PR middle-end/25125 ((short) ((int)(unsigned short) + (int)) is done in the wrong type)
gcc/
PR tree-optimization/25125
* convert.c (convert_to_integer): Don't narrow the type of a
PLUX_EXPR or MINUS_EXPR if !flag_wrapv and the unwidened type
is signed.