https://gcc.gnu.org/g:f2fac502097f75e4a098a3321f216523b59030be
commit r15-2454-gf2fac502097f75e4a098a3321f216523b59030be Author: Dimitar Dimitrov <dimi...@dinux.eu> Date: Wed Jul 31 19:20:20 2024 +0300 testsuite: Fix for targets not passing argc/argv [PR116154] PRU and other simulator targets do not pass any argv arguments to main. Instead of erroneously relying on argc==0, use a volatile variable instead. I reverted the fix for PR67947 in r6-3891-g8a18fcf4aa1d5c, and made sure that the updated test case still fails for x86_64: $ make check-gcc-c RUNTESTFLAGS="dg-torture.exp=pr67947.c" ... FAIL: gcc.dg/torture/pr67947.c -O1 execution test ... # of expected passes 8 # of unexpected failures 8 Fix was suggested by Andrew Pinski in PR116154. Committed as obvious. PR testsuite/116154 gcc/testsuite/ChangeLog: * gcc.dg/torture/pr67947.c: Use volatile variable instead of argc. Signed-off-by: Dimitar Dimitrov <dimi...@dinux.eu> Diff: --- gcc/testsuite/gcc.dg/torture/pr67947.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gcc/testsuite/gcc.dg/torture/pr67947.c b/gcc/testsuite/gcc.dg/torture/pr67947.c index 368a8b20cbf0..1016f2579cb2 100644 --- a/gcc/testsuite/gcc.dg/torture/pr67947.c +++ b/gcc/testsuite/gcc.dg/torture/pr67947.c @@ -11,11 +11,13 @@ __attribute__((noinline, noclone)) void foo (int x) c++; } +volatile int t = 1; + int main (int argc, char* argv[]) { int j, k, b = 0; - if (argc == 0) + if (t == 0) b = 1; for (j = 0; j < 3; j++) for (k = 0; k < 1; k++)