re PR middle-end/32176 (ICE tree-type mismatch: expected integer_cst, have plus_expr...
authorUros Bizjak <ubizjak@gmail.com>
Tue, 3 Jul 2007 06:35:05 +0000 (08:35 +0200)
committerUros Bizjak <uros@gcc.gnu.org>
Tue, 3 Jul 2007 06:35:05 +0000 (08:35 +0200)
PR middle-end/32176
* gcc.dg/pr32176.c: New test.

Co-Authored-By: Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
From-SVN: r126245

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/pr32176.c [new file with mode: 0644]

index 9b068650cfa3975106fb62c5faf46c4489052735..4c8dadf1d2b4118672695009fb971bd0830bd13a 100644 (file)
@@ -1,3 +1,9 @@
+2007-07-03  Uros Bizjak  <ubizjak@gmail.com>
+           Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+       PR middle-end/32176
+       * gcc.dg/pr32176.c: New test.
+
 2007-07-03  Uros Bizjak  <ubizjak@gmail.com>
 
        * gcc.dg/const-float80.c : New test.
diff --git a/gcc/testsuite/gcc.dg/pr32176.c b/gcc/testsuite/gcc.dg/pr32176.c
new file mode 100644 (file)
index 0000000..bd2a1e3
--- /dev/null
@@ -0,0 +1,28 @@
+/* Contributed by Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>  */
+
+/* { dg-do compile } */
+/* { dg-options "-O2 -fprefetch-loop-arrays" } */
+/* { dg-options "-O2 -fprefetch-loop-arrays -march=i686 -msse" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
+
+void foo (void)
+{
+  int i, m;
+  float xa[21];
+
+  m = 0;
+  while (1)
+    {
+      i = 0;
+      while (1)
+       {
+         if (xa[(long int)i] == xa[(long int)(i+m)])
+           _gfortran_abort ();
+         if (i == 10)
+           break;
+         i++;
+       }
+      if (m == 10)
+       break;
+      m++;
+    }
+}