[all-commits] [llvm/llvm-project] 183384: [clang-repl] Support wasm64 execution (#225311)

Anutosh Bhat via All-commits all-commits at lists.llvm.org
Tue Sep 22 00:42:18 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 1833848c3e6ddc1d670cc0adea027867b9ed742b
      https://github.com/llvm/llvm-project/commit/1833848c3e6ddc1d670cc0adea027867b9ed742b
  Author: Anutosh Bhat <andersonbhat491 at gmail.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M clang/lib/Interpreter/Interpreter.cpp
    M clang/lib/Interpreter/Wasm.cpp

  Log Message:
  -----------
  [clang-repl] Support wasm64 execution (#225311)

Emscripten-forge is adding wasm64 builds on its emscripten 6-x branch
which exposed two wasm32 hardcoded assumptions in clang-repl's
WebAssembly execution path.

`IncrementalCompilerBuilder::CreateCpp()` currently hardcodes
`wasm32-unknown-emscripten`, even when clang-repl itself is built for
wasm64.

Once Clang emits a wasm64 object, the in-process linker must also select
the correct emulation. `wasm-ld` defaults to wasm32 and otherwise fails
in `InputFile::checkArch()` with:

```text
must specify -mwasm64 to process wasm64 object files
```

The pipeline is this 
```
lldMain
  → lld::wasm::link
  → LinkerDriver::linkerMain
  → createFiles
  → addFile
  → createObjectFile
  → ObjFile::ObjFile
  → InputFile::checkArch
  → fatal: must specify -mwasm64 to process wasm64 object files
```

This patch introduces 2 atomic patches fixing the only 2 buggy sources !



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list