aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2023-12-14 08:40:00 +0100
committerRichard Biener <rguenther@suse.de>2023-12-14 08:41:14 +0100
commit9e20779a7d8e14e77df6efaeadc6bf3a001336ef (patch)
treee185258f8934a1d07dec11aa3c3728678dd4bbb3
parentd16479170066b7606dea8dc25a7527a081a90a0b (diff)
downloadgcc-9e20779a7d8e14e77df6efaeadc6bf3a001336ef.zip
gcc-9e20779a7d8e14e77df6efaeadc6bf3a001336ef.tar.gz
gcc-9e20779a7d8e14e77df6efaeadc6bf3a001336ef.tar.bz2
tree-optimization/110640 - testcase for fixed bug
PR tree-optimization/110640 * gcc.dg/torture/pr110640.c: New testcase.
-rw-r--r--gcc/testsuite/gcc.dg/torture/pr110640.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/torture/pr110640.c b/gcc/testsuite/gcc.dg/torture/pr110640.c
new file mode 100644
index 0000000..7667294
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/torture/pr110640.c
@@ -0,0 +1,22 @@
+/* { dg-do run } */
+/* { dg-require-effective-target int32plus } */
+
+unsigned short a = 65535;
+int b, f, g;
+int *c = &b;
+long d;
+short e;
+static int *h(int);
+void i() { h(a); }
+int *h(int j) {
+ unsigned char k;
+ for (; e != 8; e = e + 4)
+ k = 0;
+ for (; (unsigned char)(j-181249535) + k <= 1; k++) {
+ *c = d;
+ for (; f; f++)
+ ;
+ }
+ return &g;
+}
+int main() { i(); }