[llvm] [Object][WebAssembly] Make Wasm read failures recoverable (PR #215102)

via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 24 00:23:47 PDT 2026


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Windows-->
# :window: Windows x64 Test Results

The build failed before running any tests. Click on a failure below to see the details.

<details>
<summary>[code=1] lib/Object/CMakeFiles/LLVMObject.dir/WasmObjectFile.cpp.obj</summary>

```
FAILED: [code=1] lib/Object/CMakeFiles/LLVMObject.dir/WasmObjectFile.cpp.obj
sccache C:\clang\clang-msvc\bin\clang-cl.exe  /nologo -TP -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GLIBCXX_ASSERTIONS -D_HAS_EXCEPTIONS=0 -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -IC:\_work\llvm-project\llvm-project\build\lib\Object -IC:\_work\llvm-project\llvm-project\llvm\lib\Object -IC:\_work\llvm-project\llvm-project\build\include -IC:\_work\llvm-project\llvm-project\llvm\include /DWIN32 /D_WINDOWS   /Zc:inline /Zc:__cplusplus /Oi /Brepro /bigobj /permissive- -Werror=unguarded-availability-new /W4  -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported /Gw /O2 /Ob2  -std:c++17 -MD -UNDEBUG /EHs-c- /GR- /showIncludes /Folib\Object\CMakeFiles\LLVMObject.dir\WasmObjectFile.cpp.obj /Fdlib\Object\CMakeFiles\LLVMObject.dir\LLVMObject.pdb -c -- C:\_work\llvm-project\llvm-project\llvm\lib\Object\WasmObjectFile.cpp
C:\_work\llvm-project\llvm-project\llvm\lib\Object\WasmObjectFile.cpp(1017,23): error: no matching function for call to 'readVaruint64'
1017 |           auto Size = readVaruint64(Ctx);
|                       ^~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\lib\Object\WasmObjectFile.cpp(193,14): note: candidate function not viable: requires 2 arguments, but 1 was provided
193 | static Error readVaruint64(WasmObjectFile::ReadContext &Ctx, uint64_t &Result) {
|              ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\lib\Object\WasmObjectFile.cpp(1018,28): error: no matching function for call to 'readUint8'
1018 |           auto Alignment = readUint8(Ctx);
|                            ^~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\lib\Object\WasmObjectFile.cpp(92,14): note: candidate function not viable: requires 2 arguments, but 1 was provided
92 | static Error readUint8(WasmObjectFile::ReadContext &Ctx, uint8_t &Result) {
|              ^         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\lib\Object\WasmObjectFile.cpp(1021,24): error: no matching function for call to 'readVaruint32'
1021 |           auto Index = readVaruint32(Ctx);
|                        ^~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\lib\Object\WasmObjectFile.cpp(179,14): note: candidate function not viable: requires 2 arguments, but 1 was provided
179 | static Error readVaruint32(WasmObjectFile::ReadContext &Ctx, uint32_t &Result) {
|              ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\lib\Object\WasmObjectFile.cpp(1022,25): error: no matching function for call to 'readVaruint64'
1022 |           auto Offset = readVaruint64(Ctx);
|                         ^~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\lib\Object\WasmObjectFile.cpp(193,14): note: candidate function not viable: requires 2 arguments, but 1 was provided
193 | static Error readVaruint64(WasmObjectFile::ReadContext &Ctx, uint64_t &Result) {
|              ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\lib\Object\WasmObjectFile.cpp(1023,23): error: no matching function for call to 'readVaruint64'
1023 |           auto Size = readVaruint64(Ctx);
|                       ^~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\lib\Object\WasmObjectFile.cpp(193,14): note: candidate function not viable: requires 2 arguments, but 1 was provided
193 | static Error readVaruint64(WasmObjectFile::ReadContext &Ctx, uint64_t &Result) {
|              ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\lib\Object\WasmObjectFile.cpp(1020,11): warning: add explicit braces to avoid dangling else [-Wdangling-else]
1020 |         } else {
|           ^
C:\_work\llvm-project\llvm-project\llvm\lib\Object\WasmObjectFile.cpp(1110,67): error: function definition is not allowed here
1110 | Error WasmObjectFile::parseLinkingSectionComdat(ReadContext &Ctx) {
|                                                                   ^
C:\_work\llvm-project\llvm-project\llvm\lib\Object\WasmObjectFile.cpp(1178,63): error: function definition is not allowed here
1178 | Error WasmObjectFile::parseProducersSection(ReadContext &Ctx) {
|                                                               ^
C:\_work\llvm-project\llvm-project\llvm\lib\Object\WasmObjectFile.cpp(1229,68): error: function definition is not allowed here
1229 | Error WasmObjectFile::parseTargetFeaturesSection(ReadContext &Ctx) {
|                                                                    ^
C:\_work\llvm-project\llvm-project\llvm\lib\Object\WasmObjectFile.cpp(1264,75): error: function definition is not allowed here
1264 | Error WasmObjectFile::parseRelocSection(StringRef Name, ReadContext &Ctx) {
|                                                                           ^
C:\_work\llvm-project\llvm-project\llvm\lib\Object\WasmObjectFile.cpp(1431,78): error: function definition is not allowed here
1431 | Error WasmObjectFile::parseCustomSection(WasmSection &Sec, ReadContext &Ctx) {
|                                                                              ^
C:\_work\llvm-project\llvm-project\llvm\lib\Object\WasmObjectFile.cpp(1457,58): error: function definition is not allowed here
1457 | Error WasmObjectFile::parseTypeSection(ReadContext &Ctx) {
|                                                          ^
C:\_work\llvm-project\llvm-project\llvm\lib\Object\WasmObjectFile.cpp(1572,75): error: function definition is not allowed here
1572 | Error WasmObjectFile::parseImport(ReadContext &Ctx, wasm::WasmImport &Im) {
|                                                                           ^
C:\_work\llvm-project\llvm-project\llvm\lib\Object\WasmObjectFile.cpp(1633,60): error: function definition is not allowed here
1633 | Error WasmObjectFile::parseImportSection(ReadContext &Ctx) {
|                                                            ^
C:\_work\llvm-project\llvm-project\llvm\lib\Object\WasmObjectFile.cpp(1679,62): error: function definition is not allowed here
1679 | Error WasmObjectFile::parseFunctionSection(ReadContext &Ctx) {
|                                                              ^
C:\_work\llvm-project\llvm-project\llvm\lib\Object\WasmObjectFile.cpp(1702,59): error: function definition is not allowed here
1702 | Error WasmObjectFile::parseTableSection(ReadContext &Ctx) {
|                                                           ^
C:\_work\llvm-project\llvm-project\llvm\lib\Object\WasmObjectFile.cpp(1729,60): error: function definition is not allowed here
1729 | Error WasmObjectFile::parseMemorySection(ReadContext &Ctx) {
|                                                            ^
C:\_work\llvm-project\llvm-project\llvm\lib\Object\WasmObjectFile.cpp(1748,57): error: function definition is not allowed here
1748 | Error WasmObjectFile::parseTagSection(ReadContext &Ctx) {
|                                                         ^
C:\_work\llvm-project\llvm-project\llvm\lib\Object\WasmObjectFile.cpp(1781,60): error: function definition is not allowed here
1781 | Error WasmObjectFile::parseGlobalSection(ReadContext &Ctx) {
|                                                            ^
C:\_work\llvm-project\llvm-project\llvm\lib\Object\WasmObjectFile.cpp(1815,60): error: function definition is not allowed here
1815 | Error WasmObjectFile::parseExportSection(ReadContext &Ctx) {
|                                                            ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
1 warning and 20 errors generated.
```
</details>

If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the `infrastructure` label.

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


More information about the llvm-commits mailing list