about summary refs log tree commit diff
path: root/tests/ui/linkage-attr/raw-dylib/windows/multiple-declarations.rs
blob: bf3c5e4d435d12708d7cb01d470852bf96767c90 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//@ only-x86
//@ only-windows
//@ compile-flags: --crate-type lib --emit link
#![allow(clashing_extern_declarations)]
#[link(name = "foo", kind = "raw-dylib")]
extern "C" {
    fn f(x: i32);
}

pub fn lib_main() {
    #[link(name = "foo", kind = "raw-dylib")]
    extern "stdcall" {
        fn f(x: i32);
        //~^ ERROR multiple declarations of external function `f` from library `foo.dll` have different calling conventions
    }

    unsafe { f(42); }
}