2018-09-06 14:41:12 +02:00
|
|
|
//@ run-pass
|
|
|
|
|
|
2017-12-06 17:59:33 -08:00
|
|
|
//@ compile-flags: -C codegen-units=8 -Z thinlto
|
2024-12-25 22:24:30 -05:00
|
|
|
//@ ignore-i686-pc-windows-gnu
|
|
|
|
|
//@ ignore-x86_64-pc-windows-gnu
|
2017-12-06 17:59:33 -08:00
|
|
|
|
|
|
|
|
#![feature(linkage)]
|
|
|
|
|
|
|
|
|
|
pub mod foo {
|
|
|
|
|
#[linkage = "weak"]
|
|
|
|
|
#[no_mangle]
|
|
|
|
|
pub extern "C" fn FOO() -> i32 {
|
|
|
|
|
0
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
mod bar {
|
|
|
|
|
extern "C" {
|
|
|
|
|
fn FOO() -> i32;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
pub fn bar() -> i32 {
|
|
|
|
|
unsafe { FOO() }
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
|
bar::bar();
|
|
|
|
|
}
|