https://gcc.gnu.org/g:00aa59e5b120e4f5f70dcabafa57f7d4b5b9ad5d
commit r16-1489-g00aa59e5b120e4f5f70dcabafa57f7d4b5b9ad5d Author: Jakub Jelinek <ja...@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 <ja...@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 (); +}