Hi Richard, I think this patch is breaking the build of aarch64-none-elf and aarch64-none-linux-gnu targets, when building with GCC 4.8. This is not an issue when building with GCC 7.5.
Kind regards, Vasee ________________________________________ From: Richard Sandiford <richard.sandif...@arm.com> Sent: 06 March 2024 10:06 To: gcc-patches@gcc.gnu.org Subject: [pushed] aarch64: Define out-of-class static constants While reworking the aarch64 feature descriptions, I forgot to add out-of-class definitions of some static constants. This could lead to a build failure with some compilers. This was seen with some WIP to increase the number of extensions beyond 64. It's latent on trunk though, and a regression from before the rework. Tested on aarch64-linux-gnu & pushed. Richard gcc/ * config/aarch64/aarch64-feature-deps.h (feature_deps::info): Add out-of-class definitions of static constants. --- gcc/config/aarch64/aarch64-feature-deps.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gcc/config/aarch64/aarch64-feature-deps.h b/gcc/config/aarch64/aarch64-feature-deps.h index a1b81f9070b..3641badb82f 100644 --- a/gcc/config/aarch64/aarch64-feature-deps.h +++ b/gcc/config/aarch64/aarch64-feature-deps.h @@ -71,6 +71,9 @@ template<aarch64_feature> struct info; static constexpr auto enable = flag | get_enable REQUIRES; \ static constexpr auto explicit_on = enable | get_enable EXPLICIT_ON; \ }; \ + const aarch64_feature_flags info<aarch64_feature::IDENT>::flag; \ + const aarch64_feature_flags info<aarch64_feature::IDENT>::enable; \ + const aarch64_feature_flags info<aarch64_feature::IDENT>::explicit_on; \ constexpr info<aarch64_feature::IDENT> IDENT () \ { \ return info<aarch64_feature::IDENT> (); \ -- 2.25.1