about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorVadim Petrochenkov <vadim.petrochenkov@gmail.com>2020-04-01 19:17:08 +0300
committerVadim Petrochenkov <vadim.petrochenkov@gmail.com>2020-04-04 22:01:18 +0300
commit13bd25e4722a02f7b38797c7d116bfb9d1667e72 (patch)
tree7827efeafd89a61f84ab96fad16bc80bf3c3d840 /src/test
parentcff07db629d7522a0ae4e05865f66f3186e70970 (diff)
downloadrust-13bd25e4722a02f7b38797c7d116bfb9d1667e72.tar.gz
rust-13bd25e4722a02f7b38797c7d116bfb9d1667e72.zip
Do not lose or reorder user-provided linker arguments
Diffstat (limited to 'src/test')
-rw-r--r--src/test/run-make-fulldeps/link-args-order/Makefile10
-rw-r--r--src/test/run-make-fulldeps/link-args-order/empty.rs6
2 files changed, 16 insertions, 0 deletions
diff --git a/src/test/run-make-fulldeps/link-args-order/Makefile b/src/test/run-make-fulldeps/link-args-order/Makefile
new file mode 100644
index 00000000000..98c1e0eac3b
--- /dev/null
+++ b/src/test/run-make-fulldeps/link-args-order/Makefile
@@ -0,0 +1,10 @@
+# ignore-msvc
+
+-include ../tools.mk
+
+RUSTC_FLAGS = -C linker-flavor=ld -C link-arg=a -C link-args="b c" -C link-args="d e" -C link-arg=f
+RUSTC_FLAGS_PRE = -C linker-flavor=ld -Z pre-link-arg=a -Z pre-link-args="b c" -Z pre-link-args="d e" -Z pre-link-arg=f
+
+all:
+	$(RUSTC) $(RUSTC_FLAGS) empty.rs 2>&1 | $(CGREP) '"a" "b" "c" "d" "e" "f" "g"'
+	$(RUSTC) $(RUSTC_FLAGS_PRE) empty.rs 2>&1 | $(CGREP) '"a" "b" "c" "d" "e" "f"'
diff --git a/src/test/run-make-fulldeps/link-args-order/empty.rs b/src/test/run-make-fulldeps/link-args-order/empty.rs
new file mode 100644
index 00000000000..2439171004b
--- /dev/null
+++ b/src/test/run-make-fulldeps/link-args-order/empty.rs
@@ -0,0 +1,6 @@
+#![feature(link_args)]
+
+#[link_args = "g"]
+extern "C" {}
+
+fn main() {}