https://gcc.gnu.org/g:c7a9883663a888617b6e3584233aa756b30519f8

commit r14-9333-gc7a9883663a888617b6e3584233aa756b30519f8
Author: Richard Sandiford <richard.sandif...@arm.com>
Date:   Wed Mar 6 10:04:56 2024 +0000

    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.
    
    gcc/
            * config/aarch64/aarch64-feature-deps.h (feature_deps::info): Add
            out-of-class definitions of static constants.

Diff:
---
 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> ();                            \

Reply via email to