1 // This test is for *-windows-msvc only.
14 // ignore-sgx no dynamic linking
17 // aux-build:wrapper.rs
21 // Check that external symbols coming from foreign dylibs are adorned with 'dllimport',
22 // whereas symbols coming from foreign staticlibs are not. (RFC-1717)
24 // CHECK: @dylib_global1 = external dllimport local_unnamed_addr global i32
25 // CHECK: @dylib_global2 = external dllimport local_unnamed_addr global i32
26 // CHECK: @static_global1 = external local_unnamed_addr global i32
27 // CHECK: @static_global2 = external local_unnamed_addr global i32
29 // CHECK: declare dllimport i32 @dylib_func1(i32)
30 // CHECK: declare dllimport i32 @dylib_func2(i32)
31 // CHECK: declare i32 @static_func1(i32)
32 // CHECK: declare i32 @static_func2(i32)
34 #[link(name = "dummy", kind="dylib")]
36 pub fn dylib_func1(x: i32) -> i32;
37 pub static dylib_global1: i32;
40 #[link(name = "dummy", kind="static")]
42 pub fn static_func1(x: i32) -> i32;
43 pub static static_global1: i32;
48 dylib_func1(dylib_global1);
49 wrapper::dylib_func2(wrapper::dylib_global2);
51 static_func1(static_global1);
52 wrapper::static_func2(wrapper::static_global2);