From d68d1278752d67bd8dc98958713daabf716db549 Mon Sep 17 00:00:00 2001 From: CensoredUsername Date: Wed, 6 Dec 2017 01:19:35 +0100 Subject: [PATCH] Stabilize abi_sysv64 --- src/libsyntax/feature_gate.rs | 12 ++++-------- src/test/codegen/abi-sysv64.rs | 1 - .../compile-fail/feature-gate-abi-sysv64.rs | 19 ------------------- src/test/run-pass/abi-sysv64-arg-passing.rs | 1 - .../run-pass/abi-sysv64-register-usage.rs | 1 - 5 files changed, 4 insertions(+), 30 deletions(-) delete mode 100644 src/test/compile-fail/feature-gate-abi-sysv64.rs diff --git a/src/libsyntax/feature_gate.rs b/src/libsyntax/feature_gate.rs index d4b54e896abca..e5296e7d88cd6 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 4f6a50eab4915..920f5cbcca3f2 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 2a4aae8c06bba..0000000000000 --- 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 or the MIT license -// , 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 23dd060318484..4ec3f16f7af6d 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 7e3b32122ac23..1cae86712668b 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")]