diff --git a/gcc/fold-const.c b/gcc/fold-const.c index 644807d0b43..43ab364780e 100644 --- a/gcc/fold-const.c +++ b/gcc/fold-const.c @@ -1133,7 +1133,7 @@ const_binop (code, arg1, arg2, notrunc) got_it: TREE_TYPE (t) = TREE_TYPE (arg1); TREE_OVERFLOW (t) - = ((notrunc ? !uns && overflow : force_fit_type (t, overflow)) + = ((notrunc ? !uns && overflow : force_fit_type (t, overflow && !uns)) | TREE_OVERFLOW (arg1) | TREE_OVERFLOW (arg2)); TREE_CONSTANT_OVERFLOW (t) = (TREE_OVERFLOW (t)