From: Owen Avery <powerboat9.ga...@gmail.com>

This doesn't handle rustc_args_required_const, but it does allow us to
recognize it as a valid attribute.

gcc/rust/ChangeLog:

        * util/rust-attribute-values.h
        (Attributes::RUSTC_ARGS_REQUIRED_CONST): New constexpr variable.
        * util/rust-attributes.cc (__definitions): New entry for
        RUSTC_ARGS_REQUIRED_CONST.

Signed-off-by: Owen Avery <powerboat9.ga...@gmail.com>
---
 gcc/rust/util/rust-attribute-values.h | 3 +++
 gcc/rust/util/rust-attributes.cc      | 3 +++
 2 files changed, 6 insertions(+)

diff --git a/gcc/rust/util/rust-attribute-values.h 
b/gcc/rust/util/rust-attribute-values.h
index 09ef5664795..367044a36c1 100644
--- a/gcc/rust/util/rust-attribute-values.h
+++ b/gcc/rust/util/rust-attribute-values.h
@@ -89,6 +89,9 @@ public:
   static constexpr auto &TEST = "test";
 
   static constexpr auto &SIMD_TEST = "simd_test";
+
+  static constexpr auto &RUSTC_ARGS_REQUIRED_CONST
+    = "rustc_args_required_const";
 };
 } // namespace Values
 } // namespace Rust
diff --git a/gcc/rust/util/rust-attributes.cc b/gcc/rust/util/rust-attributes.cc
index 273e25c43d3..c846c2d5c33 100644
--- a/gcc/rust/util/rust-attributes.cc
+++ b/gcc/rust/util/rust-attributes.cc
@@ -88,6 +88,9 @@ static const BuiltinAttrDefinition __definitions[]
 
      {Attrs::RUSTC_LAYOUT_SCALAR_VALID_RANGE_START, CODE_GENERATION},
 
+     // TODO: be careful about calling functions marked with this?
+     {Attrs::RUSTC_ARGS_REQUIRED_CONST, CODE_GENERATION},
+
      {Attrs::PRELUDE_IMPORT, NAME_RESOLUTION},
 
      {Attrs::RUSTC_DIAGNOSTIC_ITEM, STATIC_ANALYSIS},
-- 
2.49.0

Reply via email to