[clang] [llvm] [clang][WebAssembly] support custom module name of import globals (PR #200722)

Matt Arsenault via cfe-commits cfe-commits at lists.llvm.org
Sat Sep 5 06:57:23 PDT 2026


================
@@ -0,0 +1,19 @@
+// RUN: %clang_cc1 -triple wasm32-unknown-unknown-wasm -emit-llvm -verify -o - %s | FileCheck %s
+
+extern "C" {
+extern const int [[clang::address_space(1)]] imported_g
+    __attribute__((annotate("wasm-import-module", "js")));
+extern const int [[clang::address_space(1)]] bad_arity
+    __attribute__((annotate("wasm-import-module"))); // expected-warning {{ignoring 'annotate("wasm-import-module", ...)' because it requires exactly one string literal argument}}
+extern const int [[clang::address_space(1)]] bad_type
+    __attribute__((annotate("wasm-import-module", 42))); // expected-warning {{ignoring 'annotate("wasm-import-module", ...)' because it requires exactly one string literal argument}}
+extern const int [[clang::address_space(1)]] default_g;
+
+int get() { return imported_g + bad_arity + bad_type + default_g; }
+}
+
+// CHECK: @imported_g = external addrspace(1) constant i32, align 4, !wasm.import.module ![[MD:[0-9]+]]
+// CHECK: @bad_arity = external addrspace(1) constant i32, align 4
+// CHECK: @bad_type = external addrspace(1) constant i32, align 4
+// CHECK: @default_g = external addrspace(1) constant i32, align 4
+// CHECK: ![[MD]] = !{!"js"}
----------------
arsenm wrote:

Missing newline error 

https://github.com/llvm/llvm-project/pull/200722


More information about the cfe-commits mailing list