gccrs: Add feature gate for "rust-intrinsic".
commitfd5eb9f2b01e9e91720fea55d5c29b62b6ba498b
authormxlol233 <mxlol233@outlook.com>
Sun, 5 Feb 2023 13:17:34 +0000 (5 21:17 +0800)
committerArthur Cohen <arthur.cohen@embecosm.com>
Thu, 6 Apr 2023 08:47:22 +0000 (6 10:47 +0200)
tree5f85d9fdd0a1b6c255e1de57d86e13d4d3c6d85f
parentb4229fb086b097d3b6b23f94998da47ab657ca75
gccrs: Add feature gate for "rust-intrinsic".

This commit implemented a feature gate to check `intrinsics`.

gcc/rust/ChangeLog:

* checks/errors/rust-feature-gate.cc: Add implementation for
`void FeatureGate::visit (AST::ExternBlock &block)`. Add `valid_feature`
construction process in `FeatureGate::check`.
* checks/errors/rust-feature-gate.h: Add declaration for
`void FeatureGate::visit (AST::ExternBlock &block)`. Add private
variable `valid_feature`.
* checks/errors/rust-feature.h: Change `issue` to `m_issue`.

gcc/testsuite/ChangeLog:

* rust/compile/const-issue1440.rs: Add crate feature: `intrinsics`.
* rust/compile/feature_intrinsics.rs: New file.
* rust/compile/issue-1031.rs: Add crate feature: `intrinsics`.
* rust/compile/issue-1130.rs: Add crate feature: `intrinsics`.
* rust/compile/issue-1131.rs: Add crate feature: `intrinsics`.
* rust/compile/issue-1237.rs: Add crate feature: `intrinsics`.
* rust/compile/issue-1289.rs: Add crate feature: `intrinsics`.
* rust/compile/rust-const-blog-issue.rs: Add crate feature: `intrinsics`.
* rust/compile/torture/intrinsics-3.rs: Add crate feature: `intrinsics`.
* rust/compile/torture/intrinsics-4.rs: Add crate feature: `intrinsics`.
* rust/compile/torture/intrinsics-5.rs: Add crate feature: `intrinsics`.
* rust/compile/torture/intrinsics-6.rs: Add crate feature: `intrinsics`.
* rust/compile/torture/intrinsics-7.rs: Add crate feature: `intrinsics`.
* rust/compile/torture/issue-1024.rs: Add crate feature: `intrinsics`.
* rust/compile/torture/issue-1075.rs: Add crate feature: `intrinsics`.
* rust/compile/torture/issue-1432.rs: Add crate feature: `intrinsics`.
* rust/compile/unsafe10.rs: Add crate feature: `intrinsics`.
* rust/execute/torture/atomic_load.rs: Add crate feature: `intrinsics`.
* rust/execute/torture/atomic_store.rs: Add crate feature: `intrinsics`.
* rust/execute/torture/copy_nonoverlapping1.rs: Add crate feature:
`intrinsics`.
* rust/execute/torture/issue-1120.rs: Add crate feature: `intrinsics`.
* rust/execute/torture/issue-1133.rs: Add crate feature: `intrinsics`.
* rust/execute/torture/issue-1232.rs: Add crate feature: `intrinsics`.
* rust/execute/torture/slice-magic.rs: Add crate feature: `intrinsics`.
* rust/execute/torture/slice-magic2.rs: Add crate feature: `intrinsics`.
* rust/execute/torture/str-layout1.rs: Add crate feature: `intrinsics`.
* rust/execute/torture/transmute1.rs: Add crate feature: `intrinsics`.
* rust/execute/torture/wrapping_op1.rs: Add crate feature: `intrinsics`.
* rust/execute/torture/wrapping_op2.rs: Add crate feature: `intrinsics`.

Signed-off-by: Xiao Ma <mxlol233@outlook.com>
32 files changed:
gcc/rust/checks/errors/rust-feature-gate.cc
gcc/rust/checks/errors/rust-feature-gate.h
gcc/rust/checks/errors/rust-feature.h
gcc/testsuite/rust/compile/const-issue1440.rs
gcc/testsuite/rust/compile/feature_intrinsics.rs [new file with mode: 0644]
gcc/testsuite/rust/compile/issue-1031.rs
gcc/testsuite/rust/compile/issue-1130.rs
gcc/testsuite/rust/compile/issue-1131.rs
gcc/testsuite/rust/compile/issue-1237.rs
gcc/testsuite/rust/compile/issue-1289.rs
gcc/testsuite/rust/compile/rust-const-blog-issue.rs
gcc/testsuite/rust/compile/torture/intrinsics-3.rs
gcc/testsuite/rust/compile/torture/intrinsics-4.rs
gcc/testsuite/rust/compile/torture/intrinsics-5.rs
gcc/testsuite/rust/compile/torture/intrinsics-6.rs
gcc/testsuite/rust/compile/torture/intrinsics-7.rs
gcc/testsuite/rust/compile/torture/issue-1024.rs
gcc/testsuite/rust/compile/torture/issue-1075.rs
gcc/testsuite/rust/compile/torture/issue-1432.rs
gcc/testsuite/rust/compile/unsafe10.rs
gcc/testsuite/rust/execute/torture/atomic_load.rs
gcc/testsuite/rust/execute/torture/atomic_store.rs
gcc/testsuite/rust/execute/torture/copy_nonoverlapping1.rs
gcc/testsuite/rust/execute/torture/issue-1120.rs
gcc/testsuite/rust/execute/torture/issue-1133.rs
gcc/testsuite/rust/execute/torture/issue-1232.rs
gcc/testsuite/rust/execute/torture/slice-magic.rs
gcc/testsuite/rust/execute/torture/slice-magic2.rs
gcc/testsuite/rust/execute/torture/str-layout1.rs
gcc/testsuite/rust/execute/torture/transmute1.rs
gcc/testsuite/rust/execute/torture/wrapping_op1.rs
gcc/testsuite/rust/execute/torture/wrapping_op2.rs