Skip to content

Rename wasm32-wasi to wasm32-wasip1 #165344

@sunfishcode

Description

@sunfishcode

I propose to rename clang's wasm32-wasi target to wasm32-wasip1. This will align clang with Rust and Go, and it eventually free up the name "wasm32-wasi" for a future WASI 1.0 standard.

The name "wasm32-wasi" would continue to be recognized as an alias for "wasm32-wasip1" for several clang releases, though it would evoke a deprecation warning, like this:

$ clang -c t.c --target=wasm32-wasi
clang: warning: argument '--target=wasm32-wasi' is deprecated, use --target=wasm32-wasip1 instead [-Wdeprecated]
$

As just a warning, it wouldn't break builds (unless users ask it to, with -Werror).

wasm32-wasip1 is already accepted by all versions of clang that support wasm32-wasi, because clang's target code just checks that the OS name starts with "wasi" and ignores anything after that. Consequently, users can migrate their build scripts to "wasm32-wasip1" at any time, without having to upgrade to a new version, or drop support for old versions. You can literally use "wasm32-wasip1" today if you wish, and it'll work with past and future versions.

Users using the default target in wasi-sdk would not need to make any changes.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions