about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorCensoredUsername <cens.username@gmail.com>2017-12-06 01:19:35 +0100
committerCensoredUsername <cens.username@gmail.com>2017-12-06 01:19:35 +0100
commitd68d1278752d67bd8dc98958713daabf716db549 (patch)
tree51149ae3bb9abb23673eb7287f350e643d461723 /src
parentcfba0d446e8ab90f0c81aa0942819d05621c8b8e (diff)
downloadrust-d68d1278752d67bd8dc98958713daabf716db549.tar.gz
rust-d68d1278752d67bd8dc98958713daabf716db549.zip
Stabilize abi_sysv64
Diffstat (limited to 'src')
-rw-r--r--src/libsyntax/feature_gate.rs12
-rw-r--r--src/test/codegen/abi-sysv64.rs1
-rw-r--r--src/test/compile-fail/feature-gate-abi-sysv64.rs19
-rw-r--r--src/test/run-pass/abi-sysv64-arg-passing.rs1
-rw-r--r--src/test/run-pass/abi-sysv64-register-usage.rs1
5 files changed, 4 insertions, 30 deletions
diff --git a/src/libsyntax/feature_gate.rs b/src/libsyntax/feature_gate.rs
index d4b54e896ab..e5296e7d88c 100644
--- a/src/libsyntax/feature_gate.rs
+++ b/src/libsyntax/feature_gate.rs
@@ -284,10 +284,6 @@ declare_features! (
     // Allows all literals in attribute lists and values of key-value pairs.
     (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", Some(36167)),
-
     // Allows untagged unions `union U { ... }`
     (active, untagged_unions, "1.13.0", Some(32836)),
 
@@ -520,6 +516,9 @@ declare_features! (
     (accepted, rvalue_static_promotion, "1.21.0", Some(38865)),
     // Allow Drop types in constants (RFC 1440)
     (accepted, drop_types_in_const, "1.22.0", Some(33156)),
+    // Allows the sysV64 ABI to be specified on all platforms
+    // instead of just the platforms on which it is the C ABI
+    (accepted, abi_sysv64, "1.24.0", Some(36167)),
 );
 
 // If you change this, please modify src/doc/unstable-book as well. You must
@@ -1246,10 +1245,6 @@ impl<'a> PostExpansionVisitor<'a> {
                 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");
-            },
             Abi::PtxKernel => {
                 gate_feature_post!(&self, abi_ptx, span,
                                    "PTX ABIs are experimental and subject to change");
@@ -1272,6 +1267,7 @@ impl<'a> PostExpansionVisitor<'a> {
             Abi::Fastcall |
             Abi::Aapcs |
             Abi::Win64 |
+            Abi::SysV64 |
             Abi::Rust |
             Abi::C |
             Abi::System => {}
diff --git a/src/test/codegen/abi-sysv64.rs b/src/test/codegen/abi-sysv64.rs
index 4f6a50eab49..920f5cbcca3 100644
--- a/src/test/codegen/abi-sysv64.rs
+++ b/src/test/codegen/abi-sysv64.rs
@@ -18,7 +18,6 @@
 // compile-flags: -C no-prepopulate-passes
 
 #![crate_type = "lib"]
-#![feature(abi_sysv64)]
 
 // CHECK: define x86_64_sysvcc i64 @has_sysv64_abi
 #[no_mangle]
diff --git a/src/test/compile-fail/feature-gate-abi-sysv64.rs b/src/test/compile-fail/feature-gate-abi-sysv64.rs
deleted file mode 100644
index 2a4aae8c06b..00000000000
--- a/src/test/compile-fail/feature-gate-abi-sysv64.rs
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// Test that the sysv64 ABI cannot be used when abi-sysv64 feature
-// gate is not used.
-
-extern "sysv64" fn foo() {}
-//~^ ERROR sysv64 ABI is experimental and subject to change
-
-fn main() {
-    foo();
-}
diff --git a/src/test/run-pass/abi-sysv64-arg-passing.rs b/src/test/run-pass/abi-sysv64-arg-passing.rs
index 23dd0603184..4ec3f16f7af 100644
--- a/src/test/run-pass/abi-sysv64-arg-passing.rs
+++ b/src/test/run-pass/abi-sysv64-arg-passing.rs
@@ -39,7 +39,6 @@
 
 // note: windows is ignored as rust_test_helpers does not have the sysv64 abi on windows
 
-#![feature(abi_sysv64)]
 #[allow(dead_code)]
 #[allow(improper_ctypes)]
 
diff --git a/src/test/run-pass/abi-sysv64-register-usage.rs b/src/test/run-pass/abi-sysv64-register-usage.rs
index 7e3b32122ac..1cae8671266 100644
--- a/src/test/run-pass/abi-sysv64-register-usage.rs
+++ b/src/test/run-pass/abi-sysv64-register-usage.rs
@@ -15,7 +15,6 @@
 // ignore-arm
 // ignore-aarch64
 
-#![feature(abi_sysv64)]
 #![feature(asm)]
 
 #[cfg(target_arch = "x86_64")]