summaryrefslogtreecommitdiffstats
path: root/src/test/run-make/wasm-symbols-different-module/bar.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/run-make/wasm-symbols-different-module/bar.rs')
-rw-r--r--src/test/run-make/wasm-symbols-different-module/bar.rs33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/test/run-make/wasm-symbols-different-module/bar.rs b/src/test/run-make/wasm-symbols-different-module/bar.rs
new file mode 100644
index 000000000..7567060d7
--- /dev/null
+++ b/src/test/run-make/wasm-symbols-different-module/bar.rs
@@ -0,0 +1,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);
+}