https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63862
--- Comment #3 from Marek Polacek <mpolacek at gcc dot gnu.org> --- Author: mpolacek Date: Fri Nov 28 09:06:48 2014 New Revision: 218142 URL: https://gcc.gnu.org/viewcvs?rev=218142&root=gcc&view=rev Log: PR c/63862 c-family/ * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR to op1_utype. * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift expression to unsigned_type_node. c/ * c-typeck.c (build_binary_op) <RSHIFT_EXPR, LSHIFT_EXPR>: Don't convert the right operand to integer type. cp/ * typeck.c (cp_build_binary_op) <RSHIFT_EXPR, LSHIFT_EXPR>: Don't convert the right operand to integer type. testsuite/ * gcc.c-torture/execute/shiftopt-1.c: Don't XFAIL anymore. * c-c++-common/ubsan/shift-7.c: New test. Added: trunk/gcc/testsuite/c-c++-common/ubsan/shift-7.c Modified: trunk/gcc/c-family/ChangeLog trunk/gcc/c-family/c-gimplify.c trunk/gcc/c-family/c-ubsan.c trunk/gcc/c/ChangeLog trunk/gcc/c/c-typeck.c trunk/gcc/cp/ChangeLog trunk/gcc/cp/typeck.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gcc.c-torture/execute/shiftopt-1.c