summaryrefslogtreecommitdiffstats
path: root/tests/run-make/wasm-symbols-different-module/bar.rs
blob: 7567060d7813a91e108b8d4b3e9ee671d85aa6aa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
//! Issue #50021

#![crate_type = "cdylib"]

mod m1 {
    #[link(wasm_import_module = "m1")]
    extern "C" {
        pub fn f();
    }
    #[link(wasm_import_module = "m1")]
    extern "C" {
        pub fn g();
    }
}

mod m2 {
    #[link(wasm_import_module = "m2")]
    extern "C" {
        pub fn f(_: i32);
    }
}

#[no_mangle]
pub unsafe fn run() {
    m1::f();
    m1::g();

    // In generated code, expected:
    // (import "m2" "f" (func $f (param i32)))
    // but got:
    // (import "m1" "f" (func $f (param i32)))
    m2::f(0);
}