diff options
Diffstat (limited to 'tests/run-make/raw-dylib-c/lib.rs')
-rw-r--r-- | tests/run-make/raw-dylib-c/lib.rs | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/tests/run-make/raw-dylib-c/lib.rs b/tests/run-make/raw-dylib-c/lib.rs new file mode 100644 index 000000000..5fb120403 --- /dev/null +++ b/tests/run-make/raw-dylib-c/lib.rs @@ -0,0 +1,37 @@ +#![feature(raw_dylib)] + +#[link(name = "extern_1.dll", kind = "raw-dylib", modifiers = "+verbatim")] +extern { + fn extern_fn_1(); +} + +#[link(name = "extern_2", kind = "raw-dylib")] +extern { + fn extern_fn_3(); +} + +pub fn library_function() { + #[link(name = "extern_1", kind = "raw-dylib")] + extern { + fn extern_fn_2(); + fn print_extern_variable(); + static mut extern_variable: i32; + #[link_name = "extern_fn_4"] + fn extern_fn_4_renamed(); + } + + unsafe { + extern_fn_1(); + extern_fn_2(); + extern_fn_3(); + extern_fn_4_renamed(); + extern_variable = 42; + print_extern_variable(); + extern_variable = -42; + print_extern_variable(); + } +} + +fn main() { + library_function(); +} |