diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/sched-rgn.c | 9 |
2 files changed, 10 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 45338c36419..7c07caf0c7d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2000-01-08 Jim Wilson <wilson@redhat.com> + + * sched-rgn.c (BITSET_ADD, BITSET_REMOVE, bitset_member): Cast + 1 to unsigned HOST_WIDE_INT before left shift. + 2001-01-08 Nick Clifton <nickc@redhat.com> * config/arm/arm.c (arm_mark_machine_status): Check to see if diff --git a/gcc/sched-rgn.c b/gcc/sched-rgn.c index 6ad4d9ea599..fa7efcfc771 100644 --- a/gcc/sched-rgn.c +++ b/gcc/sched-rgn.c @@ -519,7 +519,7 @@ do { register bitset tmpset = set; \ abort (); \ else \ set[index/HOST_BITS_PER_WIDE_INT] |= \ - 1 << (index % HOST_BITS_PER_WIDE_INT); \ + ((unsigned HOST_WIDE_INT) 1) << (index % HOST_BITS_PER_WIDE_INT); \ } /* Turn off the index'th bit in set. */ @@ -529,7 +529,7 @@ do { register bitset tmpset = set; \ abort (); \ else \ set[index/HOST_BITS_PER_WIDE_INT] &= \ - ~(1 << (index%HOST_BITS_PER_WIDE_INT)); \ + ~(((unsigned HOST_WIDE_INT) 1) << (index % HOST_BITS_PER_WIDE_INT)); \ } /* Check if the index'th bit in bitset set is on. */ @@ -541,8 +541,9 @@ bitset_member (set, index, len) { if (index >= HOST_BITS_PER_WIDE_INT * len) abort (); - return (set[index / HOST_BITS_PER_WIDE_INT] & - 1 << (index % HOST_BITS_PER_WIDE_INT)) ? 1 : 0; + return ((set[index / HOST_BITS_PER_WIDE_INT] & + ((unsigned HOST_WIDE_INT) 1) << (index % HOST_BITS_PER_WIDE_INT)) + ? 1 : 0); } /* Translate a bit-set SET to a list BL of the bit-set members. */ |