Auto merge of #46528 - CensoredUsername:stabilize_abi_sysv64, r=arielb1
Stabilize abi_sysv64 Closes #36167, stabilizing the use of the "sysv64" ABI on x64 platforms where it is not the default ABI. FCP on this is complete in the tracking issue.
This commit is contained in:
commit
d516d5dff7
@ -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 => {}
|
||||
|
@ -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]
|
||||
|
@ -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();
|
||||
}
|
@ -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)]
|
||||
|
||||
|
@ -15,7 +15,6 @@
|
||||
// ignore-arm
|
||||
// ignore-aarch64
|
||||
|
||||
#![feature(abi_sysv64)]
|
||||
#![feature(asm)]
|
||||
|
||||
#[cfg(target_arch = "x86_64")]
|
||||
|
Loading…
Reference in New Issue
Block a user