]> git.lizzy.rs Git - rust.git/commitdiff
test for immediate symbol name hashing
authorNiko Matsakis <niko@alum.mit.edu>
Thu, 24 Mar 2016 17:20:08 +0000 (13:20 -0400)
committerNiko Matsakis <niko@alum.mit.edu>
Fri, 25 Mar 2016 18:07:20 +0000 (14:07 -0400)
src/test/run-make/a-b-a-linker-guard/Makefile [new file with mode: 0644]
src/test/run-make/a-b-a-linker-guard/a.rs [new file with mode: 0644]
src/test/run-make/a-b-a-linker-guard/b.rs [new file with mode: 0644]

diff --git a/src/test/run-make/a-b-a-linker-guard/Makefile b/src/test/run-make/a-b-a-linker-guard/Makefile
new file mode 100644 (file)
index 0000000..4a1b87d
--- /dev/null
@@ -0,0 +1,7 @@
+-include ../tools.mk
+
+all:
+       $(RUSTC) a.rs --cfg x -C prefer-dynamic
+       $(RUSTC) b.rs -C prefer-dynamic
+       $(RUSTC) a.rs --cfg y -C prefer-dynamic
+       $(call RUN,b) 2>&1 | grep "undefined symbol"
diff --git a/src/test/run-make/a-b-a-linker-guard/a.rs b/src/test/run-make/a-b-a-linker-guard/a.rs
new file mode 100644 (file)
index 0000000..f2511b0
--- /dev/null
@@ -0,0 +1,10 @@
+#![crate_name = "a"]
+#![crate_type = "dylib"]
+
+#[cfg(x)]
+pub fn foo(x: u32) { }
+
+#[cfg(y)]
+pub fn foo(x: i32) { }
+
+
diff --git a/src/test/run-make/a-b-a-linker-guard/b.rs b/src/test/run-make/a-b-a-linker-guard/b.rs
new file mode 100644 (file)
index 0000000..f30df12
--- /dev/null
@@ -0,0 +1,7 @@
+#![crate_name = "b"]
+
+extern crate a;
+
+fn main() {
+    a::foo(22_u32);
+}