Message ID | mptttljd69j.fsf@arm.com |
---|---|
State | New |
Headers | show |
Series | [pushed] aarch64: Define out-of-class static constants | expand |
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
Vaseeharan Vinayagamoorthy <Vaseeharan.Vinayagamoorthy@arm.com> writes: > 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 Thanks. I pushed the attached patch to fix it. Richard --- GCC 4.8 complained about the use of const rather than constexpr for out-of-line static constexprs. gcc/ * config/aarch64/aarch64-feature-deps.h: Use constexpr for out-of-line statics. --- gcc/config/aarch64/aarch64-feature-deps.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gcc/config/aarch64/aarch64-feature-deps.h b/gcc/config/aarch64/aarch64-feature-deps.h index 3641badb82f..79126db8825 100644 --- a/gcc/config/aarch64/aarch64-feature-deps.h +++ b/gcc/config/aarch64/aarch64-feature-deps.h @@ -71,9 +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 aarch64_feature_flags info<aarch64_feature::IDENT>::flag; \ + constexpr aarch64_feature_flags info<aarch64_feature::IDENT>::enable; \ + constexpr aarch64_feature_flags info<aarch64_feature::IDENT>::explicit_on; \ constexpr info<aarch64_feature::IDENT> IDENT () \ { \ return info<aarch64_feature::IDENT> (); \
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> (); \