commit:     5ca076594ad47b8347ebc9fd69b467a95846d005
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Aug  7 15:08:06 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Aug  7 15:13:01 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5ca07659

toolchain.eclass: another attempt at flag filtering for tests

The previous method ends up confusing D because those flags don't work
there...

Try passing *FLAGS into RUNTESTFLAGS this time, like in
https://gcc.gnu.org/wiki/Testing_GCC#Testing_a_different_target_from_the_current_host.

This reverts commit 7eab20a224f411ef2660f4fecae22e28cad711e7 and
commit f66787897a590b8c949d257e3a9107f8995f62ae.

Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/toolchain.eclass | 27 ++++++++++++++-------------
 1 file changed, 14 insertions(+), 13 deletions(-)

diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index e81116973c67..550845b7dd47 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1947,24 +1947,25 @@ toolchain_src_test() {
                # Go doesn't support this and causes noisy warnings
                filter-flags -Wbuiltin-declaration-mismatch
 
-               local 
suppress_warn="/-Wno-format/-Wno-format-security/-Wno-trampolines"
-               GCC_TESTS_RUNTESTFLAGS+=" --target_board=unix\{${suppress_warn}"
                # TODO: Does this handle s390 (-m31) correctly?
-               is_multilib && GCC_TESTS_RUNTESTFLAGS+=",-m32/${suppress_warn}"
-               GCC_TESTS_RUNTESTFLAGS+="\}"
+               is_multilib && GCC_TESTS_RUNTESTFLAGS+=" 
--target_board=unix\{,-m32\}"
+
+               GCC_TESTS_RUNTESTFLAGS=(
+                       "${GCC_TESTS_RUNTESTFLAGS}"
+                        CFLAGS_FOR_TARGET="${CFLAGS_FOR_TARGET:-${CFLAGS}}"
+                        
CXXFLAGS_FOR_TARGET="${CXXFLAGS_FOR_TARGET:-${CXXFLAGS}}"
+                        LDFLAGS_FOR_TARGET="${LDFLAGS_FOR_TARGET:-${LDFLAGS}}"
+                        CFLAGS="${CFLAGS}"
+                        CXXFLAGS="${CXXFLAGS}"
+                        FCFLAGS="${FCFLAGS}"
+                        FFLAGS="${FFLAGS}"
+                        LDFLAGS="${LDFLAGS}"
+               )
 
                # nonfatal here as we die if the comparison below fails. Also, 
note that
                # the exit code of targets other than 'check' may be unreliable.
                nonfatal emake -C "${WORKDIR}"/build -k 
"${GCC_TESTS_CHECK_TARGET}" \
-                       RUNTESTFLAGS="${GCC_TESTS_RUNTESTFLAGS}" \
-                       CFLAGS_FOR_TARGET="${CFLAGS_FOR_TARGET:-${CFLAGS}}" \
-                       
CXXFLAGS_FOR_TARGET="${CXXFLAGS_FOR_TARGET:-${CXXFLAGS}}" \
-                       LDFLAGS_FOR_TARGET="${LDFLAGS_FOR_TARGET:-${LDFLAGS}}" \
-                       CFLAGS="${CFLAGS}" \
-                       CXXFLAGS="${CXXFLAGS}" \
-                       FCFLAGS="${FCFLAGS}" \
-                       FFLAGS="${FFLAGS}" \
-                       LDFLAGS="${LDFLAGS}"
+                       RUNTESTFLAGS="${GCC_TESTS_RUNTESTFLAGS[*]}"
        )
 
        # Produce an updated failure manifest.

Reply via email to