diff --git a/src/test/run-pass/issue-2214.rs b/src/test/run-pass/issue-2214.rs new file mode 100644 index 000000000000..13be6c67dad5 --- /dev/null +++ b/src/test/run-pass/issue-2214.rs @@ -0,0 +1,18 @@ +import libc::{c_double, c_int}; + +fn lgamma(n: c_double, value: &mut int) -> c_double { + ret m::lgamma(n, value as &mut c_int); +} + +#[link_name = "m"] +#[abi = "cdecl"] +native mod m { + #[link_name="lgamma_r"] fn lgamma(n: c_double, sign: &mut c_int) + -> c_double; +} + +fn main() { + let mut y: int = 5; + let x: &mut int = &mut y; + assert (lgamma(1.0 as c_double, x) == 42.0 as c_double); +} \ No newline at end of file