aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorUros Bizjak <ubizjak@gmail.com>2007-07-03 08:35:05 +0200
committerUros Bizjak <uros@gcc.gnu.org>2007-07-03 08:35:05 +0200
commit2f575701c6a6764813d3ee420d9f2805c35b7481 (patch)
tree4f47032e9b850d802a30a84a6cafb9c6dee98683 /gcc
parentc77cd3d140cbf8fa02a5383c3d1f6afabe7a33c3 (diff)
downloadgcc-2f575701c6a6764813d3ee420d9f2805c35b7481.zip
gcc-2f575701c6a6764813d3ee420d9f2805c35b7481.tar.gz
gcc-2f575701c6a6764813d3ee420d9f2805c35b7481.tar.bz2
re PR middle-end/32176 (ICE tree-type mismatch: expected integer_cst, have plus_expr in int_cst_value, at tree.c:7720)
PR middle-end/32176 * gcc.dg/pr32176.c: New test. Co-Authored-By: Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> From-SVN: r126245
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog6
-rw-r--r--gcc/testsuite/gcc.dg/pr32176.c28
2 files changed, 34 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 9b06865..4c8dadf 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,4 +1,10 @@
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.
* gcc.dg/const-float128.c : New test.
diff --git a/gcc/testsuite/gcc.dg/pr32176.c b/gcc/testsuite/gcc.dg/pr32176.c
new file mode 100644
index 0000000..bd2a1e3
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr32176.c
@@ -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++;
+ }
+}