diff options
| author | CensoredUsername <cens.username@gmail.com> | 2016-08-27 15:14:51 +0200 |
|---|---|---|
| committer | CensoredUsername <cens.username@gmail.com> | 2016-08-30 16:03:06 +0200 |
| commit | 0e58a5d139772404ab936b6c7679e9ff936101c4 (patch) | |
| tree | 2453b34c80fde922db92e9fb212730d6f5bba2a7 /src/libsyntax | |
| parent | 30c4173cb8f942afbb1588174e5867eb780cdaa0 (diff) | |
| download | rust-0e58a5d139772404ab936b6c7679e9ff936101c4.tar.gz rust-0e58a5d139772404ab936b6c7679e9ff936101c4.zip | |
Feature gate the sysv64 abi as feature(abi_sysv64) and add tests
Diffstat (limited to 'src/libsyntax')
| -rw-r--r-- | src/libsyntax/feature_gate.rs | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/src/libsyntax/feature_gate.rs b/src/libsyntax/feature_gate.rs index 1e15c156356..18924a3dc25 100644 --- a/src/libsyntax/feature_gate.rs +++ b/src/libsyntax/feature_gate.rs @@ -281,7 +281,11 @@ declare_features! ( (active, never_type, "1.13.0", Some(35121)), // Allows all literals in attribute lists and values of key-value pairs. - (active, attr_literals, "1.13.0", Some(34981)) + (active, attr_literals, "1.13.0", Some(34981)), + + // Allows the sysV64 ABI to be specified on all platforms + // instead of just the platforms on which it is the C ABI + (active, abi_sysv64, "1.13.0", None) ); declare_features! ( @@ -811,21 +815,26 @@ macro_rules! gate_feature_post { impl<'a> PostExpansionVisitor<'a> { fn check_abi(&self, abi: Abi, span: Span) { match abi { - Abi::RustIntrinsic => + Abi::RustIntrinsic => { gate_feature_post!(&self, intrinsics, span, - "intrinsics are subject to change"), + "intrinsics are subject to change"); + }, Abi::PlatformIntrinsic => { gate_feature_post!(&self, platform_intrinsics, span, - "platform intrinsics are experimental and possibly buggy") + "platform intrinsics are experimental and possibly buggy"); }, Abi::Vectorcall => { gate_feature_post!(&self, abi_vectorcall, span, - "vectorcall is experimental and subject to change") - } + "vectorcall is experimental and subject to change"); + }, Abi::RustCall => { gate_feature_post!(&self, unboxed_closures, span, "rust-call ABI is subject to change"); - } + }, + Abi::SysV64 => { + gate_feature_post!(&self, abi_sysv64, span, + "sysv64 ABI is experimental and subject to change"); + }, _ => {} } } |
