summary refs log tree commit diff
path: root/src/libsyntax
diff options
context:
space:
mode:
authorSimonas Kazlauskas <git@kazlauskas.me>2016-12-23 10:05:41 +0200
committerest31 <MTest31@outlook.com>2016-12-30 15:19:50 +0100
commit86ce3a2f7c1b9bcd342f5a0212383e5b2711f5f6 (patch)
tree05d848e4e3bda3acd9b0b8e01f6aa53ae7af0c7d /src/libsyntax
parentee6256b1ffd213d1e07390e4d66f57e6e463020f (diff)
downloadrust-86ce3a2f7c1b9bcd342f5a0212383e5b2711f5f6.tar.gz
rust-86ce3a2f7c1b9bcd342f5a0212383e5b2711f5f6.zip
Further and hopefully final Windows fixes
Diffstat (limited to 'src/libsyntax')
-rw-r--r--src/libsyntax/abi.rs2
-rw-r--r--src/libsyntax/feature_gate.rs9
2 files changed, 10 insertions, 1 deletions
diff --git a/src/libsyntax/abi.rs b/src/libsyntax/abi.rs
index 0cc62fb43a5..75554f20eff 100644
--- a/src/libsyntax/abi.rs
+++ b/src/libsyntax/abi.rs
@@ -50,6 +50,7 @@ pub enum Abi {
     RustIntrinsic,
     RustCall,
     PlatformIntrinsic,
+    Unadjusted
 }
 
 #[allow(non_camel_case_types)]
@@ -92,6 +93,7 @@ const AbiDatas: &'static [AbiData] = &[
     AbiData {abi: Abi::RustIntrinsic, name: "rust-intrinsic", generic: true },
     AbiData {abi: Abi::RustCall, name: "rust-call", generic: true },
     AbiData {abi: Abi::PlatformIntrinsic, name: "platform-intrinsic", generic: true },
+    AbiData {abi: Abi::Unadjusted, name: "unadjusted", generic: true },
 ];
 
 /// Returns the ABI with the given name (if any).
diff --git a/src/libsyntax/feature_gate.rs b/src/libsyntax/feature_gate.rs
index a3ecdabbe1c..e7df454cf6a 100644
--- a/src/libsyntax/feature_gate.rs
+++ b/src/libsyntax/feature_gate.rs
@@ -324,6 +324,9 @@ declare_features! (
 
     // The `i128` type
     (active, i128_type, "1.16.0", Some(35118)),
+
+    // The `unadjusted` ABI. Perma unstable.
+    (active, abi_unadjusted, "1.16.0", None),
 );
 
 declare_features! (
@@ -995,7 +998,11 @@ impl<'a> PostExpansionVisitor<'a> {
             Abi::PtxKernel => {
                 gate_feature_post!(&self, abi_ptx, span,
                                    "PTX ABIs are experimental and subject to change");
-            }
+            },
+            Abi::Unadjusted => {
+                gate_feature_post!(&self, abi_unadjusted, span,
+                                   "unadjusted ABI is an implementation detail and perma-unstable");
+            },
             // Stable
             Abi::Cdecl |
             Abi::Stdcall |