1
Fork 0

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); return cb(data);
} }
extern "C" CDECL void rust_dbg_do_nothing() { }
extern "C" CDECL void extern "C" CDECL void
rust_dbg_breakpoint() { rust_dbg_breakpoint() {
BREAKPOINT_AWESOME; BREAKPOINT_AWESOME;

View file

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

View file

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