// Passing linker arguments to the compiler used to be lost or reordered in a messy way // as they were passed further to the linker. This was fixed in #70665, and this test // checks that linker arguments remain intact and in the order they were originally passed in. // See https://github.com/rust-lang/rust/pull/70665 use run_make_support::{is_msvc, rustc}; fn main() { let linker = if is_msvc() { "msvc" } else { "ld" }; rustc() .input("empty.rs") .linker_flavor(linker) .link_arg("a") .link_args("b c") .link_args("d e") .link_arg("f") .run_fail() .assert_stderr_contains(r#""a" "b" "c" "d" "e" "f""#); rustc() .input("empty.rs") .linker_flavor(linker) .arg("-Zpre-link-arg=a") .arg("-Zpre-link-args=b c") .arg("-Zpre-link-args=d e") .arg("-Zpre-link-arg=f") .run_fail() .assert_stderr_contains(r#""a" "b" "c" "d" "e" "f""#); }