blob: 1d217f05b8d362e85af3ca1bdc821bfa662ac956 [file] [edit]
// Regression test for https://github.com/rust-lang/rust/issues/148217
// BSD format archive on a Linux target should emit a format mismatch warning.
//@ ignore-cross-compile
//@ only-linux
use run_make_support::{cc, llvm_ar, path, rfs, rustc, static_lib_name};
fn main() {
rfs::create_dir("archive");
cc().arg("-c").input("native.c").output("archive/native.o").run();
let bsd_archive = path("archive").join(static_lib_name("native_bsd"));
llvm_ar().arg("rcus").arg("--format=bsd").output_input(&bsd_archive, "archive/native.o").run();
rustc()
.input("lib.rs")
.crate_type("rlib")
.library_search_path("archive")
.arg("-lstatic=native_bsd")
.run()
.assert_stderr_contains("was built as BSD format, but the target expects GNU");
}