Avoid undefined behaviour (which causes traps on VAX).

This commit is contained in:
martin 2014-03-22 20:36:45 +00:00
parent 337d73a6f4
commit e5db261cf2
1 changed files with 3 additions and 0 deletions

View File

@ -290,6 +290,9 @@ static unsigned HOST_WIDE_INT
lowpart_bitmask (int n)
{
unsigned HOST_WIDE_INT mask = ~(unsigned HOST_WIDE_INT) 0;
gcc_assert(n >= 0 && n <= HOST_BITS_PER_WIDE_INT);
if (n == 0)
return 0;
return mask >> (HOST_BITS_PER_WIDE_INT - n);
}