about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorNiko Matsakis <niko@alum.mit.edu>2016-03-24 13:20:08 -0400
committerNiko Matsakis <niko@alum.mit.edu>2016-03-25 14:07:20 -0400
commitab0a87243e9bb97355cb0e4f53b2156cd68207fe (patch)
tree9d18ffee5cfc3b4c7c8cdffe4976ad2a18db3759 /src/test
parent87debd93285e5527d17ed89ba6930fec5fd3f263 (diff)
downloadrust-ab0a87243e9bb97355cb0e4f53b2156cd68207fe.tar.gz
rust-ab0a87243e9bb97355cb0e4f53b2156cd68207fe.zip
test for immediate symbol name hashing
Diffstat (limited to 'src/test')
-rw-r--r--src/test/run-make/a-b-a-linker-guard/Makefile7
-rw-r--r--src/test/run-make/a-b-a-linker-guard/a.rs10
-rw-r--r--src/test/run-make/a-b-a-linker-guard/b.rs7
3 files changed, 24 insertions, 0 deletions
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
index 00000000000..4a1b87de88d
--- /dev/null
+++ b/src/test/run-make/a-b-a-linker-guard/Makefile
@@ -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
index 00000000000..f2511b044b5
--- /dev/null
+++ b/src/test/run-make/a-b-a-linker-guard/a.rs
@@ -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
index 00000000000..f30df120a3b
--- /dev/null
+++ b/src/test/run-make/a-b-a-linker-guard/b.rs
@@ -0,0 +1,7 @@
+#![crate_name = "b"]
+
+extern crate a;
+
+fn main() {
+    a::foo(22_u32);
+}