diff --git a/src/libstd/macros.rs b/src/libstd/macros.rs index 8d221fe6a1b7..51da9344cabd 100644 --- a/src/libstd/macros.rs +++ b/src/libstd/macros.rs @@ -39,18 +39,10 @@ macro_rules! rtassert ( ) -// The do_abort function was originally inside the abort macro, but -// this was ICEing the compiler so it has been moved outside. Now this -// seems to work? -#[allow(missing_doc)] -pub fn do_abort() -> ! { - unsafe { ::libc::abort(); } -} - macro_rules! abort( ($( $msg:expr),+) => ( { rtdebug!($($msg),+); - ::macros::do_abort(); + ::rt::util::abort(); } ) ) diff --git a/src/libstd/rt/util.rs b/src/libstd/rt/util.rs index 39b9de90f347..6153170ecafe 100644 --- a/src/libstd/rt/util.rs +++ b/src/libstd/rt/util.rs @@ -19,4 +19,8 @@ pub fn num_cpus() -> uint { extern { fn rust_get_num_cpus() -> libc::uintptr_t; } +} + +pub fn abort() -> ! { + unsafe { libc::abort(); } } \ No newline at end of file