From 44c076fb81edb51358491b79aa3ad4156bc5437c Mon Sep 17 00:00:00 2001 From: Rainer Orth Date: Tue, 17 Feb 2026 10:39:42 +0100 Subject: [PATCH] testsuite: Require gas in gcc.dg/hierarchical-discriminator-loop-version.c etc. scans The gcc.dg/hierarchical-discriminator-loop-version.c etc. tests FAIL on Solaris with the native assembler: FAIL: gcc.dg/hierarchical-discriminator-loop-version.c scan-assembler \\\\.loc 1 (9|10) [0-9]+ is_stmt 0 discriminator [0-9]+ FAIL: gcc.dg/hierarchical-discriminator-unroll.c scan-assembler \\\\.loc 1 17 7 is_stmt 0 discriminator ([1-9][0-9]*|0x[1-9a-fA-F][0-9a-fA-F]*) FAIL: gcc.dg/hierarchical-discriminator-vect-version.c scan-assembler \\\\.loc 1 13 [0-9]+ is_stmt 0 discriminator ([1-9][0-9]*|0x[1-9a-fA-F][0-9a-fA-F]*) When using Solaris as, the .loc directives aren't present. Their use is guarded by dwarf2out.cc (dwarf2out_default_as_loc_support), which ultimately depends on HAVE_AS_DWARF2_DEBUG_LINE To avoid this, this patch restricts the scans to gas targets, which is better than what we currently have. Tested on i386-pc-solaris2.11 and sparc-sun-solaris2.11 (as and gas), and x86_64-pc-linux-gnu. 2026-02-17 Rainer Orth gcc/testsuite: * gcc.dg/hierarchical-discriminator-loop-version.c (scan-assembler): Require gas. * gcc.dg/hierarchical-discriminator-unroll.c: Likewise. * gcc.dg/hierarchical-discriminator-vect-version.c: Likewise. --- gcc/testsuite/gcc.dg/hierarchical-discriminator-loop-version.c | 2 +- gcc/testsuite/gcc.dg/hierarchical-discriminator-unroll.c | 2 +- gcc/testsuite/gcc.dg/hierarchical-discriminator-vect-version.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/gcc/testsuite/gcc.dg/hierarchical-discriminator-loop-version.c b/gcc/testsuite/gcc.dg/hierarchical-discriminator-loop-version.c index dbe7953e3e3..16e64d8f918 100644 --- a/gcc/testsuite/gcc.dg/hierarchical-discriminator-loop-version.c +++ b/gcc/testsuite/gcc.dg/hierarchical-discriminator-loop-version.c @@ -17,4 +17,4 @@ test_loop_versioning (double *x, int stepx, int n) /* Check that loop versioning occurred and discriminators are present on the loop body. */ /* { dg-final { scan-tree-dump "versioned this loop for when certain strides are 1" "lversion" } } */ -/* { dg-final { scan-assembler "\\.loc 1 (9|10) \[0-9\]+ is_stmt 0 discriminator \[0-9\]+" } } */ +/* { dg-final { scan-assembler "\\.loc 1 (9|10) \[0-9\]+ is_stmt 0 discriminator \[0-9\]+" { target gas } } } */ diff --git a/gcc/testsuite/gcc.dg/hierarchical-discriminator-unroll.c b/gcc/testsuite/gcc.dg/hierarchical-discriminator-unroll.c index f137c1c6b14..ed8cb0c245c 100644 --- a/gcc/testsuite/gcc.dg/hierarchical-discriminator-unroll.c +++ b/gcc/testsuite/gcc.dg/hierarchical-discriminator-unroll.c @@ -27,4 +27,4 @@ test_unroll (void) The exact values depend on what other passes have run, but all should be non-zero. */ /* Check that unrolled iterations have non-zero discriminators on the asm statement line. */ -/* { dg-final { scan-assembler "\\.loc 1 17 7 is_stmt 0 discriminator (\[1-9\]\[0-9\]*|0x\[1-9a-fA-F\]\[0-9a-fA-F\]*)" } } */ +/* { dg-final { scan-assembler "\\.loc 1 17 7 is_stmt 0 discriminator (\[1-9\]\[0-9\]*|0x\[1-9a-fA-F\]\[0-9a-fA-F\]*)" { target gas } } } */ diff --git a/gcc/testsuite/gcc.dg/hierarchical-discriminator-vect-version.c b/gcc/testsuite/gcc.dg/hierarchical-discriminator-vect-version.c index 95f1fe0b933..a9e441334e8 100644 --- a/gcc/testsuite/gcc.dg/hierarchical-discriminator-vect-version.c +++ b/gcc/testsuite/gcc.dg/hierarchical-discriminator-vect-version.c @@ -16,4 +16,4 @@ test_vectorize (int *a, int *b, int *c, int n) /* Check that vectorized code has discriminators on the main loop body line. The discriminator should be non-zero to distinguish vector vs scalar versions. */ -/* { dg-final { scan-assembler "\\.loc 1 13 \[0-9\]+ is_stmt 0 discriminator (\[1-9\]\[0-9\]*|0x\[1-9a-fA-F\]\[0-9a-fA-F\]*)" } } */ +/* { dg-final { scan-assembler "\\.loc 1 13 \[0-9\]+ is_stmt 0 discriminator (\[1-9\]\[0-9\]*|0x\[1-9a-fA-F\]\[0-9a-fA-F\]*)" { target gas } } } */ -- 2.47.3