This new test was reported to be still failing on sparc targets. Here the number of DW_AT_ranges dropped to zero. The test should pass on this architecture with -Os, -O2 and -O3. I tried to improve also different known problematic targets, where only one subroutine had DW_AT_ranges: Those are armhf (arm with hard float), powerpc and powerpc64. The best option is to use -Os: So far the only one, where all two inline instances in this test had two DW_AT_ranges.
gcc/testsuite/ChangeLog: PR other/116462 * gcc.dg/debug/dwarf2/inline7.c: Switch to -Os optimization. --- Hopefully this will be the final act, OK for trunk? gcc/testsuite/gcc.dg/debug/dwarf2/inline7.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/testsuite/gcc.dg/debug/dwarf2/inline7.c b/gcc/testsuite/gcc.dg/debug/dwarf2/inline7.c index 083df5b586c..8b2fa1210ad 100644 --- a/gcc/testsuite/gcc.dg/debug/dwarf2/inline7.c +++ b/gcc/testsuite/gcc.dg/debug/dwarf2/inline7.c @@ -1,6 +1,6 @@ /* Verify that at least one of both inline instances have a DW_AT_ranges but no extra DW_TAG_lexical_block. */ -/* { dg-options "-O -gdwarf -dA" } */ +/* { dg-options "-Os -gdwarf -dA" } */ /* { dg-do compile } */ /* { dg-final { scan-assembler-times "\\(DIE \\(\[^\n\]*\\) DW_TAG_inlined_subroutine" 2 } } */ /* { dg-final { scan-assembler " DW_AT_ranges" } } */ -- 2.39.2