OSDN Git Service

* gcc.dg/tree-ssa/predcom-1.c (count_averages): Avoid overflow
authorrask <rask@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 25 Jul 2007 11:13:41 +0000 (11:13 +0000)
committerrask <rask@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 25 Jul 2007 11:13:41 +0000 (11:13 +0000)
  during addition if an int is only 16 bits wide.
* gcc.dg/tree-ssa/predcom-2.c (fib): Avoid overflow of 16-bit int.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@126908 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/tree-ssa/predcom-1.c
gcc/testsuite/gcc.dg/tree-ssa/predcom-2.c

index 057c0ca..d7ab831 100644 (file)
@@ -1,5 +1,11 @@
 2007-07-25  Rask Ingemann Lambertsen  <rask@sygehus.dk>
 
+       * gcc.dg/tree-ssa/predcom-1.c (count_averages): Avoid overflow
+         during addition if an int is only 16 bits wide.
+       * gcc.dg/tree-ssa/predcom-2.c (fib): Avoid overflow of 16-bit int.
+
+2007-07-25  Rask Ingemann Lambertsen  <rask@sygehus.dk>
+
        * gcc.dg/torture/pr29584.c: Only run test if pointers have the same
          size as "long int" and are 32 or 64 bits wide.
        * gcc.dg/torture/pr28814.c: Likewise.
index 8e6e897..584f9eb 100644 (file)
@@ -23,7 +23,7 @@ void count_averages(int n)
   int i;
 
   for (i = 1; i < n; i++)
-    avg[i] = ((fib[i - 1] + fib[i] + fib[i + 1]) / 3) & 0xffff;
+    avg[i] = (((unsigned long) fib[i - 1] + fib[i] + fib[i + 1]) / 3) & 0xffff;
 }
 
 int main(void)
index b7088c5..3ad13ea 100644 (file)
@@ -4,7 +4,7 @@
 
 void abort (void);
 
-int fib[1000];
+long int fib[1000];
 
 void count_fib(void)
 {