diff options
Diffstat (limited to 'eclass')
-rw-r--r-- | eclass/Manifest.gz | bin | 40360 -> 40358 bytes | |||
-rw-r--r-- | eclass/flag-o-matic.eclass | 2 | ||||
-rw-r--r-- | eclass/toolchain.eclass | 27 |
3 files changed, 16 insertions, 13 deletions
diff --git a/eclass/Manifest.gz b/eclass/Manifest.gz Binary files differindex 22772e8d05a5..18c3e5c0aefc 100644 --- a/eclass/Manifest.gz +++ b/eclass/Manifest.gz diff --git a/eclass/flag-o-matic.eclass b/eclass/flag-o-matic.eclass index 4765809e9118..85274c91121f 100644 --- a/eclass/flag-o-matic.eclass +++ b/eclass/flag-o-matic.eclass @@ -24,7 +24,7 @@ inherit toolchain-funcs # @DESCRIPTION: # Return all the flag variables that our high level functions operate on. all-flag-vars() { - echo {ADA,C,CPP,CXX,CCAS,F,FC,LD}FLAGS + echo {ADA,C,CPP,CXX,CCAS,F,FC,GDC,LD}FLAGS } # @FUNCTION: setup-allowed-flags diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass index bf883c5370fc..273a2b9f92c9 100644 --- a/eclass/toolchain.eclass +++ b/eclass/toolchain.eclass @@ -2132,11 +2132,6 @@ gcc_do_filter_flags() { filter-flags -fdiagnostics-set-output=text:experimental-nesting=yes fi - if is_d ; then - # bug #940750 - filter-flags -Warray-bounds - fi - # Please use USE=lto instead (bug #906007). filter-lto @@ -2325,23 +2320,31 @@ gcc_do_make() { STAGE1_CFLAGS=${STAGE1_CFLAGS-"$(get_abi_CFLAGS ${TARGET_DEFAULT_ABI}) ${CFLAGS}"} # multilib.eclass lacks get_abi_CXXFLAGS (bug #940501) STAGE1_CXXFLAGS=${STAGE1_CXXFLAGS-"$(get_abi_CFLAGS ${TARGET_DEFAULT_ABI}) ${CXXFLAGS}"} + # Default to CFLAGS for GDCFLAGS if unset + STAGE1_GDCFLAGS=${STAGE1_GDCFLAGS-"$(get_abi_CFLAGS ${TARGET_DEFAULT_ABI}) ${CFLAGS}"} STAGE1_LDFLAGS=${STAGE1_LDFLAGS-"${abi_ldflags} ${LDFLAGS}"} BOOT_CFLAGS=${BOOT_CFLAGS-"$(get_abi_CFLAGS ${TARGET_DEFAULT_ABI}) ${CFLAGS}"} BOOT_LDFLAGS=${BOOT_LDFLAGS-"${abi_ldflags} ${LDFLAGS}"} LDFLAGS_FOR_TARGET="${LDFLAGS_FOR_TARGET:-${LDFLAGS}}" - # If we need to in future, we could really simplify this - # to just be unconditional for stage1. It doesn't really - # matter there. If we want to go in the other direction - # and make this more conditional, we could check if - # the bootstrap compiler is < GCC 12. See bug #940470. - if _tc_use_if_iuse d && use hardened ; then - STAGE1_CXXFLAGS+=" -U_GLIBCXX_ASSERTIONS" + if _tc_use_if_iuse d ; then + # If we need to in future, we could really simplify this + # to just be unconditional for stage1. It doesn't really + # matter there. If we want to go in the other direction + # and make this more conditional, we could check if + # the bootstrap compiler is < GCC 12. See bug #940470. + if use hardened ; then + STAGE1_CXXFLAGS+=" -U_GLIBCXX_ASSERTIONS" + fi + + # This can be dropped a while after 2025-03-31 (bug #940750). + STAGE1_GDCFLAGS+=" -Wno-array-bounds" fi emakeargs+=( STAGE1_CFLAGS="${STAGE1_CFLAGS}" STAGE1_CXXFLAGS="${STAGE1_CXXFLAGS}" + STAGE1_GDCFLAGS="${STAGE1_GDCFLAGS}" STAGE1_LDFLAGS="${STAGE1_LDFLAGS}" BOOT_CFLAGS="${BOOT_CFLAGS}" BOOT_LDFLAGS="${BOOT_LDFLAGS}" |