This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] Another testcase for PR82436
- From: Richard Biener <rguenther at suse dot de>
- To: gcc-patches at gcc dot gnu dot org
- Date: Wed, 25 Oct 2017 11:59:09 +0200 (CEST)
- Subject: [PATCH] Another testcase for PR82436
- Authentication-results: sourceware.org; auth=none
The original one only failed with -m32, this one failed with 64bits
as well.
Tested on x86_64-unknown-linux-gnu, applied.
Richard.
2017-10-25 Richard Biener <rguenther@suse.de>
PR tree-optimization/82436
* gcc.dg/torture/pr82436-2.c: New testcase.
Index: gcc/testsuite/gcc.dg/torture/pr82436-2.c
===================================================================
--- gcc/testsuite/gcc.dg/torture/pr82436-2.c (nonexistent)
+++ gcc/testsuite/gcc.dg/torture/pr82436-2.c (working copy)
@@ -0,0 +1,45 @@
+/* { dg-do compile } */
+
+enum
+{
+ a, b, c, d, e, f, g, h, j, k
+};
+
+int l;
+void m (short *s)
+{
+ short n, o, p;
+ float(*q)[k];
+ int r, i;
+ while (l > 0)
+ r = l;
+ for (;;)
+ {
+ i = 0;
+ for (; i < r; i++)
+ {
+ {
+ float ab = q[i][a];
+ int i = ab;
+ p = i;
+ }
+ ((short *) s)[0] = p;
+ {
+ float ab = q[i][b];
+ int i = ab;
+ o = i;
+ }
+ ((short *) s)[1] = o;
+ {
+ float ab = q[i][f];
+ int i = ab;
+ n = i;
+ }
+ ((short *) s)[2] = n;
+ float ab = q[i][g];
+ int i = ab;
+ ((short *) s)[3] = i;
+ s = (short *) s + 4;
+ }
+ }
+}