about summary refs log tree commit diff
diff options
context:
space:
mode:
authorNiko Matsakis <niko@alum.mit.edu>2011-11-18 16:15:03 -0800
committerNiko Matsakis <niko@alum.mit.edu>2011-11-18 16:32:19 -0800
commit12a67af81df4f05d9bc9f6634f615a69098f1d04 (patch)
tree7617035777993072c53a6f2cbba95492c3c58f7c
parent9fa44a41e67151c5c392e2bd2b3989d74703efec (diff)
downloadrust-12a67af81df4f05d9bc9f6634f615a69098f1d04.tar.gz
rust-12a67af81df4f05d9bc9f6634f615a69098f1d04.zip
add test for issue #1174
-rw-r--r--src/test/run-pass/bind-native-printf.rs16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/test/run-pass/bind-native-printf.rs b/src/test/run-pass/bind-native-printf.rs
new file mode 100644
index 00000000000..293f2d19f31
--- /dev/null
+++ b/src/test/run-pass/bind-native-printf.rs
@@ -0,0 +1,16 @@
+// From #1174:
+
+use std;
+
+#[link_name = ""]
+native mod libc {
+    fn printf(s: *u8, a: int); /* A tenuous definition. */
+}
+
+fn main() {
+    let b = std::str::bytes("%d\n");
+    let b8 = unsafe { std::vec::unsafe::to_ptr(b) };
+    libc::printf(b8, 4);
+    let a = bind libc::printf(b8, 5);
+    a(); /* core dump */
+}