diff options
| author | bors <bors@rust-lang.org> | 2015-03-23 00:37:35 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2015-03-23 00:37:35 +0000 |
| commit | 809a554fca2d0ebc2ba50077016fe282a4064752 (patch) | |
| tree | eb7494e5b785d5abb724393c4ade43ed572f9c89 /src/test | |
| parent | b0aad7dd4fad8d7e2e2f877a511a637258949597 (diff) | |
| parent | b4e9106a8a476c2b77e2c4cd8717a9bc1b95de52 (diff) | |
| download | rust-809a554fca2d0ebc2ba50077016fe282a4064752.tar.gz rust-809a554fca2d0ebc2ba50077016fe282a4064752.zip | |
Auto merge of #23593 - Manishearth:rollup, r=Manishearth
(yay, no Saturday)
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/compile-fail-fulldeps/gated-macro-reexports.rs | 22 | ||||
| -rw-r--r-- | src/test/compile-fail/gated-box-patterns.rs | 22 | ||||
| -rw-r--r-- | src/test/compile-fail/gated-box-syntax.rs | 17 | ||||
| -rw-r--r-- | src/test/compile-fail/gated-simd-ffi.rs | 27 | ||||
| -rw-r--r-- | src/test/run-pass/issue-23550.rs | 39 |
5 files changed, 127 insertions, 0 deletions
diff --git a/src/test/compile-fail-fulldeps/gated-macro-reexports.rs b/src/test/compile-fail-fulldeps/gated-macro-reexports.rs new file mode 100644 index 00000000000..a88445bafc0 --- /dev/null +++ b/src/test/compile-fail-fulldeps/gated-macro-reexports.rs @@ -0,0 +1,22 @@ +// Copyright 2014 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 macro reexports item are gated by `macro_reexport` feature gate. + +// aux-build:macro_reexport_1.rs +// ignore-stage1 + +#![crate_type = "dylib"] + +#[macro_reexport(reexported)] +#[macro_use] #[no_link] +extern crate macro_reexport_1; +//~^ ERROR macros reexports are experimental and possibly buggy +//~| HELP add #![feature(macro_reexport)] to the crate attributes to enable diff --git a/src/test/compile-fail/gated-box-patterns.rs b/src/test/compile-fail/gated-box-patterns.rs new file mode 100644 index 00000000000..abaa256d52e --- /dev/null +++ b/src/test/compile-fail/gated-box-patterns.rs @@ -0,0 +1,22 @@ +// Copyright 2015 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 patterns including the box syntax are gated by `box_patterns` feature gate. + +fn main() { + let x = Box::new(1); + + match x { + box 1 => (), + //~^ box pattern syntax is experimental + //~| add #![feature(box_patterns)] to the crate attributes to enable + _ => () + }; +} diff --git a/src/test/compile-fail/gated-box-syntax.rs b/src/test/compile-fail/gated-box-syntax.rs new file mode 100644 index 00000000000..3e08c1f7a71 --- /dev/null +++ b/src/test/compile-fail/gated-box-syntax.rs @@ -0,0 +1,17 @@ +// Copyright 2015 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 use of the box syntax is gated by `box_syntax` feature gate. + +fn main() { + let x = box 3; + //~^ ERROR box expression syntax is experimental; you can call `Box::new` instead. + //~| HELP add #![feature(box_syntax)] to the crate attributes to enable +} diff --git a/src/test/compile-fail/gated-simd-ffi.rs b/src/test/compile-fail/gated-simd-ffi.rs new file mode 100644 index 00000000000..c0a251e77a3 --- /dev/null +++ b/src/test/compile-fail/gated-simd-ffi.rs @@ -0,0 +1,27 @@ +// Copyright 2015 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 use of smid types in the ffi is gated by `smid_ffi` feature gate. + +#![feature(simd)] + +#[repr(C)] +#[derive(Copy)] +#[simd] +pub struct f32x4(f32, f32, f32, f32); + +#[allow(dead_code)] +extern { + fn foo(x: f32x4); + //~^ ERROR use of SIMD type `f32x4` in FFI is highly experimental and may result in invalid code + //~| HELP add #![feature(simd_ffi)] to the crate attributes to enable +} + +fn main() {} diff --git a/src/test/run-pass/issue-23550.rs b/src/test/run-pass/issue-23550.rs new file mode 100644 index 00000000000..97357c1dba4 --- /dev/null +++ b/src/test/run-pass/issue-23550.rs @@ -0,0 +1,39 @@ +// Copyright 2015 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. + +#![feature(core)] +#![allow(warnings)] + +use std::intrinsics; + +#[derive(Copy)] +struct Wrap(i64); + +// These volatile and atomic intrinsics used to cause an ICE + +unsafe fn test_bool(p: &mut bool, v: bool) { + intrinsics::volatile_load(p); + intrinsics::volatile_store(p, v); + intrinsics::atomic_load(p); + intrinsics::atomic_cxchg(p, v, v); + intrinsics::atomic_store(p, v); + intrinsics::atomic_xchg(p, v); +} + +unsafe fn test_immediate_fca(p: &mut Wrap, v: Wrap) { + intrinsics::volatile_load(p); + intrinsics::volatile_store(p, v); + intrinsics::atomic_load(p); + intrinsics::atomic_cxchg(p, v, v); + intrinsics::atomic_store(p, v); + intrinsics::atomic_xchg(p, v); +} + +fn main() {} |
