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

gcc/rust/ChangeLog:

        * util/rust-attribute-values.h
        (Attributes::RUSTC_DEPRECATED): New.
        * util/rust-attributes.cc
        (__definitions): Add Attributes::RUSTC_DEPRECATED.

gcc/testsuite/ChangeLog:

        * rust/compile/deprecated-fn.rs: New test.

Signed-off-by: Owen Avery <powerboat9.ga...@gmail.com>
---
 gcc/rust/util/rust-attribute-values.h       | 1 +
 gcc/rust/util/rust-attributes.cc            | 1 +
 gcc/testsuite/rust/compile/deprecated-fn.rs | 4 ++++
 3 files changed, 6 insertions(+)
 create mode 100644 gcc/testsuite/rust/compile/deprecated-fn.rs

diff --git a/gcc/rust/util/rust-attribute-values.h 
b/gcc/rust/util/rust-attribute-values.h
index e284cec1a16..04aef99be68 100644
--- a/gcc/rust/util/rust-attribute-values.h
+++ b/gcc/rust/util/rust-attribute-values.h
@@ -48,6 +48,7 @@ public:
   static constexpr auto &TARGET_FEATURE = "target_feature";
   // From now on, these are reserved by the compiler and gated through
   // #![feature(rustc_attrs)]
+  static constexpr auto &RUSTC_DEPRECATED = "rustc_deprecated";
   static constexpr auto &RUSTC_INHERIT_OVERFLOW_CHECKS
     = "rustc_inherit_overflow_checks";
   static constexpr auto &STABLE = "stable";
diff --git a/gcc/rust/util/rust-attributes.cc b/gcc/rust/util/rust-attributes.cc
index eac29808299..e10918b2f8d 100644
--- a/gcc/rust/util/rust-attributes.cc
+++ b/gcc/rust/util/rust-attributes.cc
@@ -58,6 +58,7 @@ static const BuiltinAttrDefinition __definitions[]
      {Attrs::TARGET_FEATURE, CODE_GENERATION},
      // From now on, these are reserved by the compiler and gated through
      // #![feature(rustc_attrs)]
+     {Attrs::RUSTC_DEPRECATED, STATIC_ANALYSIS},
      {Attrs::RUSTC_INHERIT_OVERFLOW_CHECKS, CODE_GENERATION},
      {Attrs::STABLE, STATIC_ANALYSIS}};
 
diff --git a/gcc/testsuite/rust/compile/deprecated-fn.rs 
b/gcc/testsuite/rust/compile/deprecated-fn.rs
new file mode 100644
index 00000000000..4083593b30b
--- /dev/null
+++ b/gcc/testsuite/rust/compile/deprecated-fn.rs
@@ -0,0 +1,4 @@
+#![feature(rustc_attrs)]
+
+#[rustc_deprecated(since = "right now", reason = "a whim")]
+pub fn foo() {}
-- 
2.45.2

Reply via email to