diff options
author | Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | 2024-02-16 09:47:35 +0100 |
---|---|---|
committer | Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | 2024-02-16 09:47:35 +0100 |
commit | de658585d6dcc89f1cba71ef5f8f5b55719a7054 (patch) | |
tree | ea0dca3123c1a2da5b7850bccb8ed12f7cac278f /gcc/doc | |
parent | 7af0f1e107a480fbfe882cb985603960114aefb5 (diff) | |
download | gcc-de658585d6dcc89f1cba71ef5f8f5b55719a7054.zip gcc-de658585d6dcc89f1cba71ef5f8f5b55719a7054.tar.gz gcc-de658585d6dcc89f1cba71ef5f8f5b55719a7054.tar.bz2 |
testsuite: Require lto-plugin support in gcc.dg/lto/modref-3 etc. [PR98237]
gcc.dg/lto/modref-3 etc. FAIL on Solaris with the native linker:
FAIL: gcc-dg-lto-modref-3-01.exe scan-wpa-ipa-dump modref "parm 1 flags: no_direct_clobber no_direct_escape"
FAIL: gcc-dg-lto-modref-4-01.exe scan-wpa-ipa-dump modref "parm 1 flags: no_direct_clobber no_direct_escape"
FAIL: gcc.dg/lto/modref-3 c_lto_modref-3_0.o-c_lto_modref-3_1.o execute -O2 -flto-partition=max -fdump-ipa-modref -fno-ipa-sra -fno-ipa-cp -flto
FAIL: gcc.dg/lto/modref-4 c_lto_modref-4_0.o-c_lto_modref-4_1.o execute -O2 -flto-partition=max -fdump-ipa-modref -fno-ipa-sra -flto
The issue is that the tests require the linker plugin, which isn't
available with Solaris ld. Thus, it also FAILs when gcc is configured
with --disable-lto-plugin.
This patch thus declares the requirement. As it turns out, there's an
undocumented dg-require-linker-plugin already, but I introduce and use
the corresponding effective-target keyword and document both.
Given that the effective-target form is more flexible, I'm tempted to
remove dg-require-* with an empty arg as already mentioned in
sourcebuild.texi. That is not this patch, however.
Tested on i386-pc-solaris2.11 with ld and gld.
2024-02-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
gcc/testsuite:
PR ipa/98237
* lib/target-supports.exp (is-effective-target): Handle
linker_plugin.
* gcc.dg/lto/modref-3_0.c: Require linker_plugin support.
* gcc.dg/lto/modref-4_0.c: Likewise.
gcc:
* doc/sourcebuild.texi (Effective-Target Keywords, Other
attribugs): Document linker_plugin.
(Require Support): Document dg-require-linker-plugin.
Diffstat (limited to 'gcc/doc')
-rw-r--r-- | gcc/doc/sourcebuild.texi | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/doc/sourcebuild.texi b/gcc/doc/sourcebuild.texi index 193be197..c431956 100644 --- a/gcc/doc/sourcebuild.texi +++ b/gcc/doc/sourcebuild.texi @@ -3009,6 +3009,9 @@ Target supports @option{-mpe-aligned-commons}. @item pie Target supports @option{-pie}, @option{-fpie} and @option{-fPIE}. +@item linker_plugin +Target supports the linker plugin. + @item rdynamic Target supports @option{-rdynamic}. @@ -3337,6 +3340,10 @@ system. Some tests are incompatible with DejaGnu's handling of remote hosts, which involves copying the source file to the host and compiling it with a relative path and "@code{-o a.out}". +@item dg-require-linker-plugin "" +Skip the test is the target does not support the linker plugin. +This is equivalent to @code{dg-require-effective-target linker_plugin}. + @item dg-require-mkfifo "" Skip the test if the target does not support @code{mkfifo}. |