]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
testsuite: Require gas in gcc.dg/hierarchical-discriminator-loop-version.c etc. scans
authorRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Tue, 17 Feb 2026 09:39:42 +0000 (10:39 +0100)
committerRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Tue, 17 Feb 2026 09:39:42 +0000 (10:39 +0100)
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  <ro@CeBiTec.Uni-Bielefeld.DE>

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
gcc/testsuite/gcc.dg/hierarchical-discriminator-unroll.c
gcc/testsuite/gcc.dg/hierarchical-discriminator-vect-version.c

index dbe7953e3e306cad6093bae1cc4d016f95067725..16e64d8f918c5cf921f30fd27108234872e5d486 100644 (file)
@@ -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 } } } */
index f137c1c6b1416fba75856486c6da48eddefd9e18..ed8cb0c245cedbce2c8a10ca2d996340def06b85 100644 (file)
@@ -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 } } } */
index 95f1fe0b9334b64095c017540d2d5ab6b2e8a4c9..a9e441334e80d827ea7f18786dd49ae5bd372594 100644 (file)
@@ -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 } } } */