Module Name: src
Committed By: martin
Date: Sat Mar 22 20:36:45 UTC 2014
Modified Files:
src/external/gpl3/gcc/dist/gcc: dse.c
Log Message:
Avoid undefined behaviour (which causes traps on VAX).
To generate a diff of this commit:
cvs rdiff -u -r1.1.1.2 -r1.2 src/external/gpl3/gcc/dist/gcc/dse.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/external/gpl3/gcc/dist/gcc/dse.c
diff -u src/external/gpl3/gcc/dist/gcc/dse.c:1.1.1.2 src/external/gpl3/gcc/dist/gcc/dse.c:1.2
--- src/external/gpl3/gcc/dist/gcc/dse.c:1.1.1.2 Sat Mar 1 08:42:20 2014
+++ src/external/gpl3/gcc/dist/gcc/dse.c Sat Mar 22 20:36:45 2014
@@ -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);
}