outputs.exp: no lto, linker default output, cdtor temps, empty args
authorAlexandre Oliva <oliva@adacore.com>
Thu, 28 May 2020 02:16:52 +0000 (23:16 -0300)
committerAlexandre Oliva <oliva@gnu.org>
Thu, 28 May 2020 02:16:52 +0000 (23:16 -0300)
commita728ec6b8bcdf8a6225ab98f19bdabff7e7a2903
tree0fa541f67ede9f58936f17822ef72238ba7e7e24
parentb76415508692fc0bc85515a8215b874c7e215431
outputs.exp: no lto, linker default output, cdtor temps, empty args

This patch fixes various issues in the testsuite that came up after
the dump/aux output revamp, namely:

- many outputs.exp tests used -flto without checking that LTO was
supported, getting lots of failures.  With this patch, we test for LTO
support, and skip -flto tests on platforms that do not support it.

- some linkers error out if an output file is not named, and the
a.{out,exe} construct that we used throughout outputs.exp to match the
default linker output would trigger a bug in tcl globbing.  With this
patch, we detect the default linker output early.  If none is found,
we arrange to pass -o a.out explicitly in tests that used to test the
default linker output.  We now look for the detected default, or for
explicitly-specified output.

- collect2 will leave <execname>.cdtor.* files behind in -save-temps
tests.  Ignore them.

- The prepending of -Wl, to file names in ldflags et al was done in a
way that introduced empty arguments when consecutive blanks appeared
in these board configuration knobs.  Skip the empty strings between
consecutive blanks to avoid this problem.

gcc/testsuite/ChangeLog:

* lib/gcc-defs.exp: Avoid introducing empty arguments between
consecutive blanks in board linking options.
* gcc.misc-tests/outputs.exp: Likewise.  Document
-gsplit-dwarf testing, skip LTO tests if -flto is not
supported, detect the default linker output name, cope with
the need for an explicit executable output.
gcc/testsuite/gcc.misc-tests/outputs.exp
gcc/testsuite/lib/gcc-defs.exp