The tester started tripping this on s390-linux-gnu:

Tests that now fail, but worked before (19 tests):

 gcc.dg/pr96542.c scan-tree-dump-times evrp "254" 2



The problem is we search for "254" in the dump file.  The dump file contains UIDs for function declarations.  So changes in the number of predefined DECL nodes can make the test pass or file depending on whether or not a decl with a UID containing "254" shows up.  Like this:


;; Function foo (foo, funcdef_no=0, decl_uid=2542, cgraph_uid=1, symbol_order=0)


ISTM the test wants to look for a "return 254" rather than just "254".    I added a change for that to the tester.  Naturally that fixed the test on s390 and the dozen or so targets I tested didn't show any regressions.


Installing on the trunk,

Jeff


commit 53a6b2e0d3405c2a4de28a3e065837d5d55f4336
Author: Jeff Law <jeffreya...@gmail.com>
Date:   Sat Nov 19 20:47:20 2022 -0500

     Fix test to not depend on DECL_UIDs
    
    The tester started tripping this on s390-linux-gnu:
    
    Tests that now fail, but worked before (19 tests):
    
    gcc.dg/pr96542.c scan-tree-dump-times evrp "254" 2
    
    The problem is we search for "254" in the dump file.  The dump file contains
    UIDs for function declarations.  So changes in the number of predefined DECL
    nodes can make the test pass or file depending on whether or not a decl with
    a UID containing "254" shows up.  Like this:
    
    ;; Function foo (foo, funcdef_no=0, decl_uid=2542, cgraph_uid=1, 
symbol_order=0)
    
    ISTM the test wants to look for a "return 254" rather than just "254".
    I added a change for that to the tester.  Naturally that fixed the test on
    s390 and the dozen or so targets I tested didn't show any regressions.
    
    gcc/testsuite
            * gcc.dg/pr96542.c: Avoid falsely matching DECL_UIDs with
            the number 254 in them.

diff --git a/gcc/testsuite/gcc.dg/pr96542.c b/gcc/testsuite/gcc.dg/pr96542.c
index 5014f2acad8..0aad2e9494e 100644
--- a/gcc/testsuite/gcc.dg/pr96542.c
+++ b/gcc/testsuite/gcc.dg/pr96542.c
@@ -22,6 +22,6 @@ baz (unsigned int x)
   return (-1U >> x) * 16;
 }
 
-/* { dg-final { scan-tree-dump-times  "254" 2 "evrp" } }  */
+/* { dg-final { scan-tree-dump-times  "return 254" 2 "evrp" } }  */
 /* { dg-final { scan-tree-dump "= PHI <32.*, 4294967280" "evrp" } }  */
 

Reply via email to