about summary refs log tree commit diff
diff options
context:
space:
mode:
authorTim Chevalier <chevalier@alum.wellesley.edu>2012-06-21 16:02:29 -0700
committerTim Chevalier <chevalier@alum.wellesley.edu>2012-06-21 16:02:40 -0700
commit290206b17890a76f96979ad629203d965ff35d1c (patch)
treea296ca4337211af413cbe18c6cb436a8f53f351e
parent2a53640aa13a68e7f9cd92bb7ba59c30dfb4b903 (diff)
downloadrust-290206b17890a76f96979ad629203d965ff35d1c.tar.gz
rust-290206b17890a76f96979ad629203d965ff35d1c.zip
Add test for issue 2214
-rw-r--r--src/test/run-pass/issue-2214.rs18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/test/run-pass/issue-2214.rs b/src/test/run-pass/issue-2214.rs
new file mode 100644
index 00000000000..13be6c67dad
--- /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