aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorEvgeny Karpov <Evgeny.Karpov@microsoft.com>2024-06-24 12:44:58 +0000
committerChristophe Lyon <christophe.lyon@linaro.org>2024-06-25 06:38:38 +0000
commit337632ef02a77d20ceb3dcb04751b4d4c844e23e (patch)
tree391cf0b14f3aac667cf19f36fc36c87e105f8724 /gcc
parenta86d7e151104d8c14884130d21b68e6603483354 (diff)
aarch64: Add selectany attribute handling
This patch extends the aarch64 attributes list with the selectany attribute for the aarch64-w64-mingw32 target and reuses the mingw implementation to handle it. 2024-06-08 Evgeny Karpov <Evgeny.Karpov@microsoft.com> gcc/ChangeLog: * config/aarch64/aarch64.cc: Extend the aarch64 attributes list. * config/aarch64/cygming.h (SUBTARGET_ATTRIBUTE_TABLE): Define the selectany attribute.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/aarch64/aarch64.cc5
-rw-r--r--gcc/config/aarch64/cygming.h3
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc
index ae7e21d90b2..61daa6daf68 100644
--- a/gcc/config/aarch64/aarch64.cc
+++ b/gcc/config/aarch64/aarch64.cc
@@ -859,7 +859,10 @@ static const attribute_spec aarch64_gnu_attributes[] =
NULL },
{ "Advanced SIMD type", 1, 1, false, true, false, true, NULL, NULL },
{ "SVE type", 3, 3, false, true, false, true, NULL, NULL },
- { "SVE sizeless type", 0, 0, false, true, false, true, NULL, NULL }
+ { "SVE sizeless type", 0, 0, false, true, false, true, NULL, NULL },
+#ifdef SUBTARGET_ATTRIBUTE_TABLE
+ SUBTARGET_ATTRIBUTE_TABLE
+#endif
};
static const scoped_attribute_specs aarch64_gnu_attribute_table =
diff --git a/gcc/config/aarch64/cygming.h b/gcc/config/aarch64/cygming.h
index 0d048879311..76623153080 100644
--- a/gcc/config/aarch64/cygming.h
+++ b/gcc/config/aarch64/cygming.h
@@ -154,6 +154,9 @@ still needed for compilation. */
flag_stack_check = STATIC_BUILTIN_STACK_CHECK; \
} while (0)
+#define SUBTARGET_ATTRIBUTE_TABLE \
+ { "selectany", 0, 0, true, false, false, false, \
+ mingw_handle_selectany_attribute, NULL }
#define SUPPORTS_ONE_ONLY 1