aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/rust/util/rust-attribute-values.h1
-rw-r--r--gcc/rust/util/rust-attributes.cc3
-rw-r--r--gcc/testsuite/rust/compile/unstable-fn.rs2
3 files changed, 5 insertions, 1 deletions
diff --git a/gcc/rust/util/rust-attribute-values.h b/gcc/rust/util/rust-attribute-values.h
index 04aef99..a8551c0 100644
--- a/gcc/rust/util/rust-attribute-values.h
+++ b/gcc/rust/util/rust-attribute-values.h
@@ -52,6 +52,7 @@ public:
static constexpr auto &RUSTC_INHERIT_OVERFLOW_CHECKS
= "rustc_inherit_overflow_checks";
static constexpr auto &STABLE = "stable";
+ static constexpr auto &UNSTABLE = "unstable";
};
} // namespace Values
} // namespace Rust
diff --git a/gcc/rust/util/rust-attributes.cc b/gcc/rust/util/rust-attributes.cc
index e10918b..84d1781 100644
--- a/gcc/rust/util/rust-attributes.cc
+++ b/gcc/rust/util/rust-attributes.cc
@@ -60,7 +60,8 @@ static const BuiltinAttrDefinition __definitions[]
// #![feature(rustc_attrs)]
{Attrs::RUSTC_DEPRECATED, STATIC_ANALYSIS},
{Attrs::RUSTC_INHERIT_OVERFLOW_CHECKS, CODE_GENERATION},
- {Attrs::STABLE, STATIC_ANALYSIS}};
+ {Attrs::STABLE, STATIC_ANALYSIS},
+ {Attrs::UNSTABLE, STATIC_ANALYSIS}};
BuiltinAttributeMappings *
BuiltinAttributeMappings::get ()
diff --git a/gcc/testsuite/rust/compile/unstable-fn.rs b/gcc/testsuite/rust/compile/unstable-fn.rs
new file mode 100644
index 0000000..4cbbebd
--- /dev/null
+++ b/gcc/testsuite/rust/compile/unstable-fn.rs
@@ -0,0 +1,2 @@
+#[unstable(feature = "some_feature", issue = "12345")]
+pub fn foo() {}