diff --git a/external/gpl3/gcc/dist/gcc/dse.c b/external/gpl3/gcc/dist/gcc/dse.c index 080822292e40..d88d8af034e3 100644 --- a/external/gpl3/gcc/dist/gcc/dse.c +++ b/external/gpl3/gcc/dist/gcc/dse.c @@ -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); }