diff options
author | Alon Zakai <azakai@google.com> | 2022-01-05 09:12:14 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-05 09:12:14 -0800 |
commit | 6f599272c66f65472f5e4c8d759d5bca77e47da6 (patch) | |
tree | 58fd0dd6570ee278971479eb32b599c7b28f12f3 /src | |
parent | 1beec37f483505db0c5152be9118b28e45b77316 (diff) | |
download | binaryen-6f599272c66f65472f5e4c8d759d5bca77e47da6.tar.gz binaryen-6f599272c66f65472f5e4c8d759d5bca77e47da6.tar.bz2 binaryen-6f599272c66f65472f5e4c8d759d5bca77e47da6.zip |
Turn an assertion on not colliding with an internal name into an error (#4422)
Without this, the result in a build without assertions might be quite
confusing. See #4410
Also make the internal names more obviously internal names.
Diffstat (limited to 'src')
-rw-r--r-- | src/wasm/wasm-binary.cpp | 5 | ||||
-rw-r--r-- | src/wasm/wasm.cpp | 4 |
2 files changed, 6 insertions, 3 deletions
diff --git a/src/wasm/wasm-binary.cpp b/src/wasm/wasm-binary.cpp index 95658cbe7..4804626da 100644 --- a/src/wasm/wasm-binary.cpp +++ b/src/wasm/wasm-binary.cpp @@ -6508,7 +6508,10 @@ void WasmBinaryBuilder::visitRethrow(Rethrow* curr) { BYN_TRACE("zz node: Rethrow\n"); curr->target = getExceptionTargetName(getU32LEB()); // This special target is valid only for delegates - assert(curr->target != DELEGATE_CALLER_TARGET); + if (curr->target == DELEGATE_CALLER_TARGET) { + throwError(std::string("rethrow target cannot use internal name ") + + DELEGATE_CALLER_TARGET.str); + } curr->finalize(); } diff --git a/src/wasm/wasm.cpp b/src/wasm/wasm.cpp index d220b7162..aac8b44fe 100644 --- a/src/wasm/wasm.cpp +++ b/src/wasm/wasm.cpp @@ -91,8 +91,8 @@ Name NEG_NAN("-nan"); Name CASE("case"); Name BR("br"); Name FUNCREF("funcref"); -Name FAKE_RETURN("fake_return_waka123"); -Name DELEGATE_CALLER_TARGET("delegate_caller_target_waka123"); +Name FAKE_RETURN("__binaryen_fake_return"); +Name DELEGATE_CALLER_TARGET("__binaryen_delegate_caller_target"); Name MUT("mut"); Name SPECTEST("spectest"); Name PRINT("print"); |