From: Mauri de Souza Meneguzzo Date: Wed, 10 Jan 2024 21:15:55 +0000 (+0000) Subject: cmd/compile: document go:wasmimport directive X-Git-Tag: go1.22rc2~7^2~18 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=d1674cb4c6531df6573bc3be136b302d2b362c56;p=gostls13.git cmd/compile: document go:wasmimport directive Fixes #64972 Change-Id: I784a8728afbdef9736681d56f0a79c82a00609d6 GitHub-Last-Rev: bf158dbeaaa495dc258c590c7a21cf9e25e76ee7 GitHub-Pull-Request: golang/go#64991 Reviewed-on: https://go-review.googlesource.com/c/go/+/554455 Reviewed-by: Achille Roussel Reviewed-by: Johan Brandhorst-Satzkorn Reviewed-by: Cherry Mui Reviewed-by: Austin Clements TryBot-Result: Gopher Robot --- diff --git a/src/cmd/compile/doc.go b/src/cmd/compile/doc.go index 0a60368afa..507899e222 100644 --- a/src/cmd/compile/doc.go +++ b/src/cmd/compile/doc.go @@ -295,5 +295,27 @@ The declaration of lower.f may also have a linkname directive with a single argument, f. This is optional, but helps alert the reader that the function is accessed from outside the package. + //go:wasmimport importmodule importname + +The //go:wasmimport directive is wasm-only and must be followed by a +function declaration. +It specifies that the function is provided by a wasm module identified +by ``importmodule`` and ``importname``. + + //go:wasmimport a_module f + func g() + +The types of parameters and return values to the Go function are translated to +Wasm according to the following table: + + Go types Wasm types + int32, uint32 i32 + int64, uint64 i64 + float32 f32 + float64 f64 + unsafe.Pointer i32 + +Any other parameter types are disallowed by the compiler. + */ package main