[gcc r16-1489] testsuite: Add testcase for already fixed PR [PR120630]
Jakub Jelinek
jakub@gcc.gnu.org
Thu Jun 12 17:55:02 GMT 2025
https://gcc.gnu.org/g:00aa59e5b120e4f5f70dcabafa57f7d4b5b9ad5d
commit r16-1489-g00aa59e5b120e4f5f70dcabafa57f7d4b5b9ad5d
Author: Jakub Jelinek <jakub@redhat.com>
Date: Thu Jun 12 19:53:07 2025 +0200
testsuite: Add testcase for already fixed PR [PR120630]
These tests were broken by my r16-1398 PR120434 change and
fixed by r16-1482 PR120629 change.
Committing these to increase testsuite coverage.
2025-06-12 Jakub Jelinek <jakub@redhat.com>
PR middle-end/120630
* gcc.dg/pr120630.c: New test.
* gcc.c-torture/execute/pr120630.c: New test.
Diff:
---
gcc/testsuite/gcc.c-torture/execute/pr120630.c | 29 ++++++++++++++++++++++++++
gcc/testsuite/gcc.dg/pr120630.c | 25 ++++++++++++++++++++++
2 files changed, 54 insertions(+)
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr120630.c b/gcc/testsuite/gcc.c-torture/execute/pr120630.c
new file mode 100644
index 000000000000..46cfac9a1311
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/pr120630.c
@@ -0,0 +1,29 @@
+/* PR middle-end/120630 */
+
+__attribute__((noipa)) int
+foo (const char *x, ...)
+{
+ return *x;
+}
+
+int a, b, c;
+unsigned d = 1;
+
+int
+main ()
+{
+ if (a)
+ foo ("0");
+ int e = -1;
+ if (a < 1)
+ {
+ e = c;
+ if (c)
+ while (1)
+ ;
+ }
+ b = (~e + 0UL) / -1;
+ if (d > b)
+ __builtin_abort ();
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.dg/pr120630.c b/gcc/testsuite/gcc.dg/pr120630.c
new file mode 100644
index 000000000000..14b0aaf103d9
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr120630.c
@@ -0,0 +1,25 @@
+/* PR middle-end/120630 */
+/* { dg-do run } */
+/* { dg-options "-O3 -fno-tree-loop-im -fno-tree-loop-optimize -fno-tree-ch" } */
+
+int a, c, d;
+
+void
+foo (int b)
+{
+ a = b;
+}
+
+int
+main ()
+{
+ while (d)
+ ;
+ for (c = 0; c > -3; c--)
+ {
+ long f = c;
+ foo (f >> 2);
+ }
+ if (a != -1)
+ __builtin_abort ();
+}
More information about the Gcc-cvs
mailing list