summaryrefslogtreecommitdiffstats
path: root/tests/run-make/dylib-chain
diff options
context:
space:
mode:
Diffstat (limited to 'tests/run-make/dylib-chain')
-rw-r--r--tests/run-make/dylib-chain/Makefile13
-rw-r--r--tests/run-make/dylib-chain/m1.rs2
-rw-r--r--tests/run-make/dylib-chain/m2.rs4
-rw-r--r--tests/run-make/dylib-chain/m3.rs4
-rw-r--r--tests/run-make/dylib-chain/m4.rs3
5 files changed, 26 insertions, 0 deletions
diff --git a/tests/run-make/dylib-chain/Makefile b/tests/run-make/dylib-chain/Makefile
new file mode 100644
index 000000000..f1fea99c5
--- /dev/null
+++ b/tests/run-make/dylib-chain/Makefile
@@ -0,0 +1,13 @@
+# ignore-cross-compile
+include ../tools.mk
+
+all:
+ $(RUSTC) m1.rs -C prefer-dynamic
+ $(RUSTC) m2.rs -C prefer-dynamic
+ $(RUSTC) m3.rs -C prefer-dynamic
+ $(RUSTC) m4.rs
+ $(call RUN,m4)
+ $(call REMOVE_DYLIBS,m1)
+ $(call REMOVE_DYLIBS,m2)
+ $(call REMOVE_DYLIBS,m3)
+ $(call FAIL,m4)
diff --git a/tests/run-make/dylib-chain/m1.rs b/tests/run-make/dylib-chain/m1.rs
new file mode 100644
index 000000000..08c3f3752
--- /dev/null
+++ b/tests/run-make/dylib-chain/m1.rs
@@ -0,0 +1,2 @@
+#![crate_type = "dylib"]
+pub fn m1() {}
diff --git a/tests/run-make/dylib-chain/m2.rs b/tests/run-make/dylib-chain/m2.rs
new file mode 100644
index 000000000..62176ddc9
--- /dev/null
+++ b/tests/run-make/dylib-chain/m2.rs
@@ -0,0 +1,4 @@
+#![crate_type = "dylib"]
+extern crate m1;
+
+pub fn m2() { m1::m1() }
diff --git a/tests/run-make/dylib-chain/m3.rs b/tests/run-make/dylib-chain/m3.rs
new file mode 100644
index 000000000..d213aeda9
--- /dev/null
+++ b/tests/run-make/dylib-chain/m3.rs
@@ -0,0 +1,4 @@
+#![crate_type = "dylib"]
+extern crate m2;
+
+pub fn m3() { m2::m2() }
diff --git a/tests/run-make/dylib-chain/m4.rs b/tests/run-make/dylib-chain/m4.rs
new file mode 100644
index 000000000..fa8ec6079
--- /dev/null
+++ b/tests/run-make/dylib-chain/m4.rs
@@ -0,0 +1,3 @@
+extern crate m3;
+
+fn main() { m3::m3() }