tree-optimization/104165 - bougs -Warray-bounds, add testcase
authorRichard Biener <rguenther@suse.de>
Tue, 6 Dec 2022 07:22:01 +0000 (08:22 +0100)
committerRichard Biener <rguenther@suse.de>
Tue, 6 Dec 2022 07:23:56 +0000 (08:23 +0100)
The following adds the testcase from the description which was
fixed by r13-2894-gbe4a6551ed37c1.

PR tree-optimization/104165
* g++.dg/warn/Warray-bounds-pr104165-1.C: New testcase.

gcc/testsuite/g++.dg/warn/Warray-bounds-pr104165-1.C [new file with mode: 0644]

diff --git a/gcc/testsuite/g++.dg/warn/Warray-bounds-pr104165-1.C b/gcc/testsuite/g++.dg/warn/Warray-bounds-pr104165-1.C
new file mode 100644 (file)
index 0000000..bc46285
--- /dev/null
@@ -0,0 +1,27 @@
+// { dg-do compile }
+// { dg-require-effective-target c++11 }
+// { dg-options "-O2 -Warray-bounds" }
+
+#include <algorithm>
+
+static int bar(int n, int l)
+{
+  int f[l];
+  int x = 0;
+  int r = n;
+
+  for (; x < l;)
+    if (r)
+      x = l;
+    else
+      r = 1;
+
+  if (r == 1)
+    std::sort(f, f + x, [](int a, int b) { return a > b; });
+  return 1;
+}
+
+int foo(int n)
+{
+  return bar(n, 4);
+}