aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorliushuyu <liushuyu011@gmail.com>2022-06-11 20:27:46 -0600
committerliushuyu <liushuyu011@gmail.com>2022-06-28 17:54:26 -0600
commit0c290e7c6f3a227829ffe70d8fd9280f1a1da668 (patch)
tree50080eda9fd26fba43de7da2b7d295e5931175c5
parent649d3c45afa9c65cad99c8d195e342b3c8bea43c (diff)
downloadgcc-0c290e7c6f3a227829ffe70d8fd9280f1a1da668.zip
gcc-0c290e7c6f3a227829ffe70d8fd9280f1a1da668.tar.gz
gcc-0c290e7c6f3a227829ffe70d8fd9280f1a1da668.tar.bz2
tests: add tests for deprecated attribute scanning
-rw-r--r--gcc/testsuite/rust/compile/attr_deprecated.rs14
-rw-r--r--gcc/testsuite/rust/compile/attr_deprecated_2.rs11
2 files changed, 25 insertions, 0 deletions
diff --git a/gcc/testsuite/rust/compile/attr_deprecated.rs b/gcc/testsuite/rust/compile/attr_deprecated.rs
new file mode 100644
index 0000000..01bc9c4
--- /dev/null
+++ b/gcc/testsuite/rust/compile/attr_deprecated.rs
@@ -0,0 +1,14 @@
+#[deprecated(since="1.0", note="do not use this function")]
+fn test1() {}
+
+#[deprecated]
+fn test() {}
+
+#[deprecated = "a different message"]
+fn test2() {}
+
+fn main() {
+ test(); // { dg-warning ".attr_deprecated::test. is deprecated" }
+ test1(); // { dg-warning ".attr_deprecated::test1. is deprecated: do not use this function" }
+ test2(); // { dg-warning ".attr_deprecated::test2. is deprecated: a different message" }
+}
diff --git a/gcc/testsuite/rust/compile/attr_deprecated_2.rs b/gcc/testsuite/rust/compile/attr_deprecated_2.rs
new file mode 100644
index 0000000..66f4ce3
--- /dev/null
+++ b/gcc/testsuite/rust/compile/attr_deprecated_2.rs
@@ -0,0 +1,11 @@
+#[deprecated(since="1.0")]
+fn test1() {}
+
+// { dg-excess-errors "unknown meta item ...." }
+#[deprecated(invalid="invalid")]
+fn test2() {}
+
+fn main() {
+ test1(); // { dg-warning ".attr_deprecated_2::test1. is deprecated" }
+ test2();
+}