rust/tests/ui/rfcs/rfc-2627-raw-dylib/dlltool-failed.rs
James Farrell c59b82353d Better diagnostics for dlltool errors.
When dlltool fails, show the full command that was executed. In
particular, llvm-dlltool is not very helpful, printing a generic usage
message rather than what actually went wrong, so stdout and stderr
aren't of much use when troubleshooting.
2023-07-17 20:20:01 +00:00

24 lines
803 B
Rust

// Tests that dlltool failing to generate an import library will raise an error.
// only-gnu
// only-windows
// needs-dlltool
// compile-flags: --crate-type lib --emit link
// normalize-stderr-test: "[^ ']*/dlltool.exe" -> "$$DLLTOOL"
// normalize-stderr-test: "[^ ]*/foo.def" -> "$$DEF_FILE"
// normalize-stderr-test: "[^ ]*/foo.lib" -> "$$LIB_FILE"
// normalize-stderr-test: "-m [^ ]*" -> "$$TARGET_MACHINE"
// normalize-stderr-test: "-f [^ ]*" -> "$$ASM_FLAGS"
// normalize-stderr-test: "--temp-prefix [^ ]*/foo.dll" -> "$$TEMP_PREFIX"
#[link(name = "foo", kind = "raw-dylib")]
extern "C" {
// `@1` is an invalid name to export, as it usually indicates that something
// is being exported via ordinal.
#[link_name = "@1"]
fn f(x: i32);
}
pub fn lib_main() {
unsafe { f(42); }
}