Fix issue-506.rs by adding a void-returning stub in the runtime (close #2957)

This commit is contained in:
Ben Blum 2012-08-16 18:06:06 -04:00
parent f188d92dfe
commit a076c287de
3 changed files with 5 additions and 4 deletions

View file

@ -797,6 +797,8 @@ rust_dbg_call(dbg_callback cb, void *data) {
return cb(data);
}
extern "C" CDECL void rust_dbg_do_nothing() { }
extern "C" CDECL void
rust_dbg_breakpoint() {
BREAKPOINT_AWESOME;

View file

@ -170,6 +170,7 @@ rust_dbg_lock_unlock
rust_dbg_lock_wait
rust_dbg_lock_signal
rust_dbg_call
rust_dbg_do_nothing
rust_dbg_breakpoint
rust_osmain_sched_id
rust_compare_and_swap_ptr

View file

@ -1,4 +1,3 @@
// xfail-test
/*
A reduced test case for Issue #506, provided by Rob Arnold.
@ -10,10 +9,9 @@ import task;
#[abi = "cdecl"]
extern mod rustrt {
fn get_task_id() -> libc::intptr_t;
fn rust_dbg_do_nothing();
}
fn main() {
let f: fn() -> libc::intptr_t = rustrt::get_task_id;
task::spawn(unsafe { unsafe::reinterpret_cast(f) });
task::spawn(rustrt::rust_dbg_do_nothing);
}