aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.dg/Warray-bounds-24.c15
2 files changed, 20 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 981c3a2..a053fcb 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,10 @@
2017-12-14 Richard Biener <rguenther@suse.de>
+ PR tree-optimization/66974
+ * gcc.dg/Warray-bounds-24.c: New testcase.
+
+2017-12-14 Richard Biener <rguenther@suse.de>
+
PR tree-optimization/65258
* gcc.dg/Warray-bounds-23.c: New testcase.
diff --git a/gcc/testsuite/gcc.dg/Warray-bounds-24.c b/gcc/testsuite/gcc.dg/Warray-bounds-24.c
new file mode 100644
index 0000000..3563173
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/Warray-bounds-24.c
@@ -0,0 +1,15 @@
+/* { dg-do compile } */
+/* { dg-options "-O3 -Warray-bounds" } */
+
+int foo(unsigned order)
+{
+ int c[3] = {1, 2, 3};
+ unsigned i, j;
+ for (i = 1; i < order; i++) {
+ for (j = 0; j < i / 2; j++) {
+ c[j] += c[i] * c[i-j-1]; /* { dg-bogus "array bounds" } */
+ c[i-j-1] += c[i] * c[j]; /* { dg-bogus "array bounds" } */
+ }
+ }
+ return c[0];
+}