diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2022-03-18 11:16:06 +0100 |
---|---|---|
committer | Pierre-Marie de Rodat <derodat@adacore.com> | 2022-05-19 14:05:33 +0000 |
commit | cfc07102ef2ff3675cb193e4f0e61c9d2d5b368e (patch) | |
tree | cd9c1052024ec33f5ac201abee05eec8b322b9e9 /gcc/ada/gcc-interface/decl.cc | |
parent | db6734819f777dbbf9eea464baa7fc60a953dc8a (diff) | |
download | gcc-cfc07102ef2ff3675cb193e4f0e61c9d2d5b368e.zip gcc-cfc07102ef2ff3675cb193e4f0e61c9d2d5b368e.tar.gz gcc-cfc07102ef2ff3675cb193e4f0e61c9d2d5b368e.tar.bz2 |
[Ada] Add support for "simd" function attribute
gcc/ada/
* gcc-interface/decl.cc (gnat_to_gnu_entity) <E_Function>: Also call
process_attributes for built-in functions.
(prepend_one_attribute_pragma): Deal with "simd" attribute.
* gcc-interface/utils.cc (handle_simd_attribute): New function.
(gnat_internal_attribute_table): Add entry for "simd" attribute.
Diffstat (limited to 'gcc/ada/gcc-interface/decl.cc')
-rw-r--r-- | gcc/ada/gcc-interface/decl.cc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/ada/gcc-interface/decl.cc b/gcc/ada/gcc-interface/decl.cc index af6475e..2d9b41f 100644 --- a/gcc/ada/gcc-interface/decl.cc +++ b/gcc/ada/gcc-interface/decl.cc @@ -4002,6 +4002,7 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, bool definition) { gnu_decl = gnu_type; gnu_type = TREE_TYPE (gnu_decl); + process_attributes (&gnu_decl, &attr_list, true, gnat_entity); break; } @@ -6864,7 +6865,9 @@ prepend_one_attribute_pragma (struct attrib **attr_list, Node_Id gnat_pragma) const char *const p = TREE_STRING_POINTER (gnu_arg1); const bool string_args - = strcmp (p, "target") == 0 || strcmp (p, "target_clones") == 0; + = strcmp (p, "simd") == 0 + || strcmp (p, "target") == 0 + || strcmp (p, "target_clones") == 0; gnu_arg1 = get_identifier (p); if (IDENTIFIER_LENGTH (gnu_arg1) == 0) return; |