summaryrefslogtreecommitdiffstats
path: root/tests/run-make/raw-dylib-inline-cross-dylib/driver.rs
blob: 0c3125be6f596008cba851dcb118ec38c603a6d9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
extern crate raw_dylib_test;
extern crate raw_dylib_test_wrapper;

#[link(name = "extern_2", kind = "raw-dylib")]
extern {
    fn extern_fn_2();
}

fn main() {
    // NOTE: The inlined call to `extern_fn_2` links against the function in extern_2.dll instead
    // of extern_1.dll since raw-dylib symbols from the current crate are passed to the linker
    // first, so any ambiguous names will prefer the current crate's definition.
    raw_dylib_test::inline_library_function();
    raw_dylib_test::library_function();
    raw_dylib_test_wrapper::inline_library_function_calls_inline();
    unsafe {
        extern_fn_2();
    }
}