summaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
Diffstat (limited to 'eclass')
-rw-r--r--eclass/Manifest.gzbin40360 -> 40358 bytes
-rw-r--r--eclass/flag-o-matic.eclass2
-rw-r--r--eclass/toolchain.eclass27
3 files changed, 16 insertions, 13 deletions
diff --git a/eclass/Manifest.gz b/eclass/Manifest.gz
index 22772e8d05a5..18c3e5c0aefc 100644
--- a/eclass/Manifest.gz
+++ b/eclass/Manifest.gz
Binary files differ
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}"