File: dlltool-failed.rs

package info (click to toggle)
rustc 1.85.0%2Bdfsg3-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental, forky, sid, trixie
  • size: 893,396 kB
  • sloc: xml: 158,127; python: 35,830; javascript: 19,497; cpp: 19,002; sh: 17,245; ansic: 13,127; asm: 4,376; makefile: 1,051; perl: 29; lisp: 29; ruby: 19; sql: 11
file content (21 lines) | stat: -rw-r--r-- 777 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// Tests that dlltool failing to generate an import library will raise an error.

//@ needs-dlltool
//@ compile-flags: --crate-type lib --emit link
//@ normalize-stderr: "[^ ']*/dlltool.exe" -> "$$DLLTOOL"
//@ normalize-stderr: "[^ ]*/foo.dll_imports.def" -> "$$DEF_FILE"
//@ normalize-stderr: "[^ ]*/foo.dll_imports.lib" -> "$$LIB_FILE"
//@ normalize-stderr: "-m [^ ]*" -> "$$TARGET_MACHINE"
//@ normalize-stderr: "-f [^ ]*" -> "$$ASM_FLAGS"
//@ normalize-stderr: "--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); }
}