testsuite: Fix many UNRESOLVEDs for gcc.dg/vect
authorRichard Sandiford <richard.sandiford@arm.com>
Wed, 7 Apr 2021 18:46:37 +0000 (19:46 +0100)
committerRichard Sandiford <richard.sandiford@arm.com>
Wed, 7 Apr 2021 18:46:37 +0000 (19:46 +0100)
commit12029c04d01c7ba0f775cdc208edf29490ee5db6
treefe1e2c1cfdb3f975a4fbb51bae1aa22683c98212
parente06d3f5dd7d0c6b4a20fe813e6ee5addd097f560
testsuite: Fix many UNRESOLVEDs for gcc.dg/vect

It turns out that, on targets that use testglue, many gcc.dg/vect
scan-dump tests became UNRESOLVED after the change to the dump
file naming scheme.

The problem is that, when creating an executable, we normally name
the dump file after both the executable and the source file name.
However, as an exception, we name it after only the source file
name if:

(a) there is only one source file name and
(b) the source file and the executable have the same basename

Both (a) and (b) are normally true when building executables from
gcc.dg/vect.  But (a) is not true when linking against testglue.
The harness was therefore looking for a dump file based only on the
source file name while the compiler was producing a dump file that
contained both names.

We get around this for dg-additional-sources using:

# This option restores naming of aux and dump output files
# after input files when multiple input files are named,
# instead of getting them combined with the output name.
lappend options "additional_flags=-dumpbase \"\""

This patch does the same thing for executables that are linked
against testglue.  This removes over 2400 UNRESOLVEDs from an
armeb-eabi test run, but in so doing introduces FAILs for some
tests that were previously skipped.

gcc/testsuite/
* lib/gcc.exp (gcc_target_compile): Add -dumpbase ""
when building an executable with testglue.
gcc/testsuite/lib/gcc.exp