diff --git a/src/libcore/lib.rs b/src/libcore/lib.rs index 6de7e8bcacac5..92c9274ff8a15 100644 --- a/src/libcore/lib.rs +++ b/src/libcore/lib.rs @@ -53,7 +53,7 @@ html_root_url = "http://doc.rust-lang.org/")] #![no_std] -#![feature(globs, macro_rules, managed_boxes, phase)] +#![feature(globs, macro_rules, managed_boxes, phase, simd)] #![deny(missing_doc)] #[cfg(test)] extern crate realcore = "core"; @@ -124,6 +124,7 @@ pub mod iter; pub mod option; pub mod raw; pub mod result; +pub mod simd; pub mod slice; pub mod str; pub mod tuple; diff --git a/src/libstd/unstable/simd.rs b/src/libcore/simd.rs similarity index 98% rename from src/libstd/unstable/simd.rs rename to src/libcore/simd.rs index a7a314d35e736..c0825c3fc2912 100644 --- a/src/libstd/unstable/simd.rs +++ b/src/libcore/simd.rs @@ -11,6 +11,7 @@ //! SIMD vectors #![allow(non_camel_case_types)] +#![allow(missing_doc)] #[experimental] #[simd] diff --git a/src/libstd/io/test.rs b/src/libstd/io/test.rs index de8a6f4beb5ea..bc52bc9946c08 100644 --- a/src/libstd/io/test.rs +++ b/src/libstd/io/test.rs @@ -37,7 +37,7 @@ macro_rules! iotest ( use io::net::unix::*; use io::timer::*; use io::process::*; - use unstable::running_on_valgrind; + use rt::running_on_valgrind; use str; fn f() $b diff --git a/src/libstd/lib.rs b/src/libstd/lib.rs index 51cf2aabf55a5..02b4f6aae7a2f 100644 --- a/src/libstd/lib.rs +++ b/src/libstd/lib.rs @@ -104,7 +104,7 @@ html_favicon_url = "http://www.rust-lang.org/favicon.ico", html_root_url = "http://doc.rust-lang.org/")] #![feature(macro_rules, globs, asm, managed_boxes, thread_local, link_args, - simd, linkage, default_type_params, phase, concat_idents, quad_precision_float)] + linkage, default_type_params, phase, concat_idents, quad_precision_float)] // Don't link to std. We are std. #![no_std] @@ -145,6 +145,7 @@ pub use core::clone; #[cfg(not(test))] pub use core::cmp; pub use core::container; pub use core::default; +pub use core::finally; pub use core::intrinsics; pub use core::iter; #[cfg(not(test))] pub use core::kinds; @@ -152,6 +153,7 @@ pub use core::mem; #[cfg(not(test))] pub use core::ops; pub use core::ptr; pub use core::raw; +pub use core::simd; pub use core::tuple; #[cfg(not(test))] pub use core::ty; pub use core::result; diff --git a/src/libstd/rt/args.rs b/src/libstd/rt/args.rs index cde20521c2f66..4316fb21d4150 100644 --- a/src/libstd/rt/args.rs +++ b/src/libstd/rt/args.rs @@ -144,7 +144,7 @@ mod imp { mod tests { use prelude::*; use super::*; - use unstable::finally::Finally; + use finally::Finally; #[test] fn smoke_test() { diff --git a/src/libstd/rt/mod.rs b/src/libstd/rt/mod.rs index daf18346fee2a..d2131ad44fb30 100644 --- a/src/libstd/rt/mod.rs +++ b/src/libstd/rt/mod.rs @@ -76,6 +76,10 @@ pub use self::util::{Stdio, Stdout, Stderr}; pub use alloc::{heap, libc_heap}; +// Used by I/O tests +#[experimental] +pub use self::util::running_on_valgrind; + // FIXME: these probably shouldn't be public... #[doc(hidden)] pub mod shouldnt_be_public { diff --git a/src/libstd/rt/task.rs b/src/libstd/rt/task.rs index 749f44d1c9d2c..3e61f3ff23624 100644 --- a/src/libstd/rt/task.rs +++ b/src/libstd/rt/task.rs @@ -36,7 +36,7 @@ use rt::unwind::Unwinder; use str::SendStr; use sync::atomics::{AtomicUint, SeqCst}; use task::{TaskResult, TaskOpts}; -use unstable::finally::Finally; +use finally::Finally; /// The Task struct represents all state associated with a rust /// task. There are at this point two primary "subtypes" of task, diff --git a/src/libstd/rt/util.rs b/src/libstd/rt/util.rs index 1ab9ac1b11edc..103fbdc0bc93d 100644 --- a/src/libstd/rt/util.rs +++ b/src/libstd/rt/util.rs @@ -15,11 +15,11 @@ use io::IoResult; use io; use iter::Iterator; use libc; +use libc::uintptr_t; use option::{Some, None, Option}; use os; use result::Ok; use str::{Str, StrSlice}; -use unstable::running_on_valgrind; use slice::ImmutableVector; // Indicates whether we should perform expensive sanity checks, including rtassert! @@ -162,3 +162,15 @@ memory and partly incapable of presentation to others.", unsafe { intrinsics::abort() } } } + +/// Dynamically inquire about whether we're running under V. +/// You should usually not use this unless your test definitely +/// can't run correctly un-altered. Valgrind is there to help +/// you notice weirdness in normal, un-doctored code paths! +pub fn running_on_valgrind() -> bool { + unsafe { rust_running_on_valgrind() != 0 } +} + +extern { + fn rust_running_on_valgrind() -> uintptr_t; +} diff --git a/src/libstd/slice.rs b/src/libstd/slice.rs index ae1caa16d28ad..fd07c69278abe 100644 --- a/src/libstd/slice.rs +++ b/src/libstd/slice.rs @@ -110,7 +110,7 @@ use option::{None, Option, Some}; use ptr::RawPtr; use ptr; use rt::heap::{allocate, deallocate}; -use unstable::finally::try_finally; +use finally::try_finally; use vec::Vec; pub use core::slice::{ref_slice, mut_ref_slice, Splits, Windows}; diff --git a/src/libstd/unstable/mod.rs b/src/libstd/unstable/mod.rs index f464f70772d94..d8de6463fabbd 100644 --- a/src/libstd/unstable/mod.rs +++ b/src/libstd/unstable/mod.rs @@ -10,24 +10,8 @@ #![doc(hidden)] -use libc::uintptr_t; - -pub use core::finally; - pub mod dynamic_lib; -pub mod simd; pub mod sync; pub mod mutex; -/// Dynamically inquire about whether we're running under V. -/// You should usually not use this unless your test definitely -/// can't run correctly un-altered. Valgrind is there to help -/// you notice weirdness in normal, un-doctored code paths! -pub fn running_on_valgrind() -> bool { - unsafe { rust_running_on_valgrind() != 0 } -} - -extern { - fn rust_running_on_valgrind() -> uintptr_t; -} diff --git a/src/libsync/raw.rs b/src/libsync/raw.rs index 591318d24b23c..aae790f887a61 100644 --- a/src/libsync/raw.rs +++ b/src/libsync/raw.rs @@ -18,7 +18,7 @@ use std::kinds::marker; use std::mem; use std::sync::atomics; -use std::unstable::finally::Finally; +use std::finally::Finally; use mutex; diff --git a/src/test/bench/shootout-mandelbrot.rs b/src/test/bench/shootout-mandelbrot.rs index 6b3079b8fc8d1..70abebd321a94 100644 --- a/src/test/bench/shootout-mandelbrot.rs +++ b/src/test/bench/shootout-mandelbrot.rs @@ -17,7 +17,7 @@ extern crate sync; use std::io; use std::os; -use std::unstable::simd::f64x2; +use std::simd::f64x2; use sync::Future; use sync::Arc; diff --git a/src/test/compile-fail/simd-binop.rs b/src/test/compile-fail/simd-binop.rs index 281e879592dde..9fbb7364054d5 100644 --- a/src/test/compile-fail/simd-binop.rs +++ b/src/test/compile-fail/simd-binop.rs @@ -12,26 +12,26 @@ #![allow(experimental)] -use std::unstable::simd::f32x4; +use std::simd::f32x4; fn main() { let _ = f32x4(0.0, 0.0, 0.0, 0.0) == f32x4(0.0, 0.0, 0.0, 0.0); - //~^ ERROR binary comparison operation `==` not supported for floating point SIMD vector `std::unstable::simd::f32x4` + //~^ ERROR binary comparison operation `==` not supported for floating point SIMD vector `core::simd::f32x4` let _ = f32x4(0.0, 0.0, 0.0, 0.0) != f32x4(0.0, 0.0, 0.0, 0.0); - //~^ ERROR binary comparison operation `!=` not supported for floating point SIMD vector `std::unstable::simd::f32x4` + //~^ ERROR binary comparison operation `!=` not supported for floating point SIMD vector `core::simd::f32x4` let _ = f32x4(0.0, 0.0, 0.0, 0.0) < f32x4(0.0, 0.0, 0.0, 0.0); - //~^ ERROR binary comparison operation `<` not supported for floating point SIMD vector `std::unstable::simd::f32x4` + //~^ ERROR binary comparison operation `<` not supported for floating point SIMD vector `core::simd::f32x4` let _ = f32x4(0.0, 0.0, 0.0, 0.0) <= f32x4(0.0, 0.0, 0.0, 0.0); - //~^ ERROR binary comparison operation `<=` not supported for floating point SIMD vector `std::unstable::simd::f32x4` + //~^ ERROR binary comparison operation `<=` not supported for floating point SIMD vector `core::simd::f32x4` let _ = f32x4(0.0, 0.0, 0.0, 0.0) >= f32x4(0.0, 0.0, 0.0, 0.0); - //~^ ERROR binary comparison operation `>=` not supported for floating point SIMD vector `std::unstable::simd::f32x4` + //~^ ERROR binary comparison operation `>=` not supported for floating point SIMD vector `core::simd::f32x4` let _ = f32x4(0.0, 0.0, 0.0, 0.0) > f32x4(0.0, 0.0, 0.0, 0.0); - //~^ ERROR binary comparison operation `>` not supported for floating point SIMD vector `std::unstable::simd::f32x4` + //~^ ERROR binary comparison operation `>` not supported for floating point SIMD vector `core::simd::f32x4` } diff --git a/src/test/compile-fail/simd-experimental.rs b/src/test/compile-fail/simd-experimental.rs index f9cc4d0d8c372..5f9f56bf3c0f4 100644 --- a/src/test/compile-fail/simd-experimental.rs +++ b/src/test/compile-fail/simd-experimental.rs @@ -10,7 +10,7 @@ #![deny(experimental)] -use std::unstable::simd; +use std::simd; fn main() { let _ = simd::i64x2(0, 0); //~ ERROR: experimental diff --git a/src/test/debuginfo/simd.rs b/src/test/debuginfo/simd.rs index ff9618aa1f1eb..b84405ee7270e 100644 --- a/src/test/debuginfo/simd.rs +++ b/src/test/debuginfo/simd.rs @@ -43,7 +43,7 @@ #![allow(experimental)] #![allow(unused_variable)] -use std::unstable::simd::{i8x16, i16x8,i32x4,i64x2,u8x16,u16x8,u32x4,u64x2,f32x4,f64x2}; +use std::simd::{i8x16, i16x8,i32x4,i64x2,u8x16,u16x8,u32x4,u64x2,f32x4,f64x2}; fn main() { diff --git a/src/test/run-pass/backtrace.rs b/src/test/run-pass/backtrace.rs index 5e7b9d9560e38..7f2c9e14af10d 100644 --- a/src/test/run-pass/backtrace.rs +++ b/src/test/run-pass/backtrace.rs @@ -15,7 +15,7 @@ extern crate native; use std::os; use std::io::process::Command; -use std::unstable::finally::Finally; +use std::finally::Finally; use std::str; #[start] diff --git a/src/test/run-pass/simd-binop.rs b/src/test/run-pass/simd-binop.rs index efcd99a04cedd..7f9be78d5832d 100644 --- a/src/test/run-pass/simd-binop.rs +++ b/src/test/run-pass/simd-binop.rs @@ -10,7 +10,7 @@ #![allow(experimental)] -use std::unstable::simd::{i32x4, f32x4, u32x4}; +use std::simd::{i32x4, f32x4, u32x4}; fn eq_u32x4(u32x4(x0, x1, x2, x3): u32x4, u32x4(y0, y1, y2, y3): u32x4) -> bool { (x0 == y0) && (x1 == y1) && (x2 == y2) && (x3 == y3) diff --git a/src/test/run-pass/simd-issue-10604.rs b/src/test/run-pass/simd-issue-10604.rs index 2e533e3b263a0..966db25a128a7 100644 --- a/src/test/run-pass/simd-issue-10604.rs +++ b/src/test/run-pass/simd-issue-10604.rs @@ -13,5 +13,5 @@ #![feature(simd)] pub fn main() { - let _o = None::; + let _o = None::; }