re PR middle-end/25125 ((short) ((int)(unsigned short) + (int)) is done in the wrong...
authorKazu Hirata <kazu@codesourcery.com>
Mon, 26 Dec 2005 23:00:18 +0000 (23:00 +0000)
committerKazu Hirata <kazu@gcc.gnu.org>
Mon, 26 Dec 2005 23:00:18 +0000 (23:00 +0000)
commit4a2ab19287e25d3c883e3b0e5825317159fc752a
tree71fa7e22af360fe7beb5c11eb309505bf13890ab
parent01a097e8ec830c49674e24862d16e101c43c8932
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.

gcc/testsuite/
PR tree-optimization/25125
* gcc.dg/vect/vect-7.c, gcc.dg/vect/vect-reduc-2char.c,
gcc.dg/vect/vect-reduc-2short.c: XFAIL.
* gcc.c-torture/execute/pr25125.c: New.

From-SVN: r109065
gcc/ChangeLog
gcc/convert.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/execute/pr25125.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-7.c
gcc/testsuite/gcc.dg/vect/vect-reduc-2char.c
gcc/testsuite/gcc.dg/vect/vect-reduc-2short.c