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);
 }
 

Reply via email to