Version of emscripten/emsdk:
emcc (Emscripten gcc/clang-like replacement + linker emulating GNU ld) 5.0.7 (263db4cffa6f9fc2ec514a70abac81362ea41849)
clang version 23.0.0git (https:/github.com/llvm/llvm-project 7b58716d96c3ae4c0c4e6f72e29b16137bb6224b)
Target: wasm32-unknown-emscripten
Thread model: posix
InstalledDir: /home/_/.conan2/p/b/emsdk0a8073caa1b86/p/bin/upstream/bin
Full link command and output with -v appended:
/home/_/.conan2/p/b/emsdk0a8073caa1b86/p/bin/upstream/emscripten/em++ -stdlib=libc++ -ffunction-sections -gdwarf -sMEMORY64=1 -g -gdwarf -O0 -flto=thin -sALLOW_MEMORY_GROWTH=1 -sMEMORY64=1 -sNO_DISABLE_EXCEPTION_CATCHING -Xlinker --gc-sections -msimd128 src/core/client/exec/CMakeFiles/core.client.exec.dir/main.cpp.o -o src/core/client/exec/client.js -L/home/_/.conan2/p/b/highwa76ccc51f0794/p/lib -L/home/_/.conan2/p/b/spdlo1200e34525b02/p/lib -Wl,--whole-archive src/core/client/libwrapper/libwrapper.a -Wl,--no-whole-archive 3rdparty/highway/highway.modules.a /home/_/.conan2/p/b/highwa76ccc51f0794/p/lib/libhwy_contrib.a /home/_/.conan2/p/b/highwa76ccc51f0794/p/lib/libhwy.a -Wl,--whole-archive src/core/client/libclient/libclient.a -Wl,--no-whole-archive 3rdparty/stduuid/stduuid.modules.a -Wl,--whole-archive src/shared/util/libutil/libutil.a -Wl,--no-whole-archive 3rdparty/spdlog/spdlog.modules.a /home/_/.conan2/p/b/spdlo1200e34525b02/p/lib/libspdlogd.a -Wl,--whole-archive src/shared/common/libcommon/libcommon.a -Wl,--no-whole-archive 3rdparty/std/std.modules.a 3rdparty/ms-gsl/ms-gsl.modules.a -lidbfs.js
Output when running node client.js:
failed to asynchronously prepare wasm: CompileError: WebAssembly.instantiate(): Compiling function #216:"eng::sample_client@_.client()" failed: i32.store8[0] expected type i64, found local.tee of type i32 @+54254
Aborted(CompileError: WebAssembly.instantiate(): Compiling function #216:"eng::sample_client@_.client()" failed: i32.store8[0] expected type i64, found local.tee of type i32 @+54254)
/build/ems-debug-wasm-cov/src/core/client/exec/client.js:577
var e = new WebAssembly.RuntimeError(what);
^
RuntimeError: Aborted(CompileError: WebAssembly.instantiate(): Compiling function #216:"eng::sample_client@_.client()" failed: i32.store8[0] expected type i64, found local.tee of type i32 @+54254)
at abort (/build/ems-debug-wasm-cov/src/core/client/exec/client.js:577:11)
at instantiateArrayBuffer (/build/ems-debug-wasm-cov/src/core/client/exec/client.js:642:5)
at async createWasm (/build/ems-debug-wasm-cov/src/core/client/exec/client.js:740:16)
Node.js v25.9.0
The code that triggers this behaviour, if you remove && val_b everything's fine.
module _;
import std;
import :client;
namespace eng {
int sample_client() {
const bool val_a = false;
const bool val_b = false;
if (val_a && val_b) {
return 3;
}
return 6;
}
int enter(int /*argc*/, char** /*argv*/) {
std::cout << sample_client() << std::endl;
return 6;
}
}
What could be the reason for this?
Version of emscripten/emsdk:
Full link command and output with
-vappended:Output when running
node client.js:The code that triggers this behaviour, if you remove
&& val_beverything's fine.What could be the reason for this?