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++)

Reply via email to