diff options
author | Marek Polacek <polacek@redhat.com> | 2015-09-14 10:36:50 +0000 |
---|---|---|
committer | Marek Polacek <mpolacek@gcc.gnu.org> | 2015-09-14 10:36:50 +0000 |
commit | aa256c4aedce567eff0d5fdf7b2e4067bc9e3c42 (patch) | |
tree | 001e0f81efbd2a370e6d6c036da01bc1cd490e18 /gcc/c | |
parent | 0f876f22887f239cedca64ff170b71e5f1daaf54 (diff) | |
download | gcc-aa256c4aedce567eff0d5fdf7b2e4067bc9e3c42.zip gcc-aa256c4aedce567eff0d5fdf7b2e4067bc9e3c42.tar.gz gcc-aa256c4aedce567eff0d5fdf7b2e4067bc9e3c42.tar.bz2 |
c-common.c (warn_for_sign_compare): Cast to unsigned when shifting a negative value.
* c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
a negative value.
* c-typeck.c (set_nonincremental_init_from_string): Use
HOST_WIDE_INT_M1U when shifting a negative value.
* rtlanal.c (split_double): Cast to unsigned when shifting a negative
value.
* sched-int.h (UNKNOWN_DEP_COST): Likewise.
From-SVN: r227743
Diffstat (limited to 'gcc/c')
-rw-r--r-- | gcc/c/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/c/c-typeck.c | 5 |
2 files changed, 7 insertions, 3 deletions
diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog index 325686a..2891424 100644 --- a/gcc/c/ChangeLog +++ b/gcc/c/ChangeLog @@ -1,3 +1,8 @@ +2015-09-14 Marek Polacek <polacek@redhat.com> + + * c-typeck.c (set_nonincremental_init_from_string): Use + HOST_WIDE_INT_M1U when shifting a negative value. + 2015-09-09 Mark Wielaard <mjw@redhat.com> * c-typeck.c (build_binary_op): Check and warn when nonnull arg diff --git a/gcc/c/c-typeck.c b/gcc/c/c-typeck.c index 4108f27..3b26231 100644 --- a/gcc/c/c-typeck.c +++ b/gcc/c/c-typeck.c @@ -8276,7 +8276,7 @@ set_nonincremental_init_from_string (tree str, { if (val[0] & (((HOST_WIDE_INT) 1) << (bitpos - 1))) { - val[0] |= ((HOST_WIDE_INT) -1) << bitpos; + val[0] |= HOST_WIDE_INT_M1U << bitpos; val[1] = -1; } } @@ -8287,8 +8287,7 @@ set_nonincremental_init_from_string (tree str, } else if (val[1] & (((HOST_WIDE_INT) 1) << (bitpos - 1 - HOST_BITS_PER_WIDE_INT))) - val[1] |= ((HOST_WIDE_INT) -1) - << (bitpos - HOST_BITS_PER_WIDE_INT); + val[1] |= HOST_WIDE_INT_M1U << (bitpos - HOST_BITS_PER_WIDE_INT); } value = wide_int_to_tree (type, |