commit
d8761c02bf
4 changed files with 4 additions and 5 deletions
|
|
@ -1 +1 @@
|
|||
0265a3e93bf1b89d97cae113ed214954d5c35e22
|
||||
538f118da1409759ba198acc0ff62070bc6d2dce
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
//! load to the first, as a result of C++20's coherence-ordered before rules.
|
||||
//!
|
||||
//! Rust follows the C++20 memory model (except for the Consume ordering and some operations not performable through C++'s
|
||||
//! std::atomic<T> API). It is therefore possible for this implementation to generate behaviours never observable when the
|
||||
//! `std::atomic<T>` API). It is therefore possible for this implementation to generate behaviours never observable when the
|
||||
//! same program is compiled and run natively. Unfortunately, no literature exists at the time of writing which proposes
|
||||
//! an implementable and C++20-compatible relaxed memory model that supports all atomic operation existing in Rust. The closest one is
|
||||
//! A Promising Semantics for Relaxed-Memory Concurrency by Jeehoon Kang et al. (<https://www.cs.tau.ac.il/~orilahav/papers/popl17.pdf>)
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
#![feature(rustc_private)]
|
||||
#![feature(map_first_last)]
|
||||
#![feature(map_try_insert)]
|
||||
#![feature(never_type)]
|
||||
#![feature(try_blocks)]
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
//@revisions: extern_block definition both
|
||||
#![feature(rustc_attrs, c_unwind)]
|
||||
|
||||
#[cfg_attr(any(definition, both), rustc_allocator_nounwind)]
|
||||
#[cfg_attr(any(definition, both), rustc_nounwind)]
|
||||
#[no_mangle]
|
||||
extern "C-unwind" fn nounwind() {
|
||||
//[definition]~^ ERROR: abnormal termination: the program aborted execution
|
||||
|
|
@ -11,7 +11,7 @@ extern "C-unwind" fn nounwind() {
|
|||
|
||||
fn main() {
|
||||
extern "C-unwind" {
|
||||
#[cfg_attr(any(extern_block, both), rustc_allocator_nounwind)]
|
||||
#[cfg_attr(any(extern_block, both), rustc_nounwind)]
|
||||
fn nounwind();
|
||||
}
|
||||
unsafe { nounwind() }
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue