]> git.proxmox.com Git - rustc.git/blame - src/test/run-pass/issue-23550.rs
Imported Upstream version 1.2.0+dfsg1
[rustc.git] / src / test / run-pass / issue-23550.rs
CommitLineData
c34b1796
AL
1// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
2// file at the top-level directory of this distribution and at
3// http://rust-lang.org/COPYRIGHT.
4//
5// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8// option. This file may not be copied, modified, or distributed
9// except according to those terms.
10
62682a34 11#![feature(core_intrinsics)]
c34b1796
AL
12#![allow(warnings)]
13
14use std::intrinsics;
15
16#[derive(Copy, Clone)]
17struct Wrap(i64);
18
19// These volatile and atomic intrinsics used to cause an ICE
20
21unsafe fn test_bool(p: &mut bool, v: bool) {
22 intrinsics::volatile_load(p);
23 intrinsics::volatile_store(p, v);
24 intrinsics::atomic_load(p);
25 intrinsics::atomic_cxchg(p, v, v);
26 intrinsics::atomic_store(p, v);
27 intrinsics::atomic_xchg(p, v);
28}
29
30unsafe fn test_immediate_fca(p: &mut Wrap, v: Wrap) {
31 intrinsics::volatile_load(p);
32 intrinsics::volatile_store(p, v);
33 intrinsics::atomic_load(p);
34 intrinsics::atomic_cxchg(p, v, v);
35 intrinsics::atomic_store(p, v);
36 intrinsics::atomic_xchg(p, v);
37}
38
39fn main() {}