summaryrefslogtreecommitdiffstats
path: root/tests/run-make/raw-dylib-inline-cross-dylib/driver.rs
blob: f72ded7d9f638b9b5b00035a9328400b0c0883d8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#![feature(raw_dylib)]

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();
    }
}