]> git.ipfire.org Git - thirdparty/gcc.git/commit
Add feature gate for "rust-intrinsic".
authormxlol233 <mxlol233@outlook.com>
Sun, 5 Feb 2023 13:17:34 +0000 (21:17 +0800)
committermxlol233 <mxlol233@outlook.com>
Tue, 14 Feb 2023 03:20:23 +0000 (11:20 +0800)
commitdebb72b0e9cc9ae0cbd151fb809d3f2fda0b4785
treebed9237305c361b50d76b80daaea9fc2a7044ee4
parentcc23831ec66ac39f8955b1915fd7f6585dbccbe9
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