summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlon Zakai <azakai@google.com>2022-01-05 09:12:14 -0800
committerGitHub <noreply@github.com>2022-01-05 09:12:14 -0800
commit6f599272c66f65472f5e4c8d759d5bca77e47da6 (patch)
tree58fd0dd6570ee278971479eb32b599c7b28f12f3 /src
parent1beec37f483505db0c5152be9118b28e45b77316 (diff)
downloadbinaryen-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.cpp5
-rw-r--r--src/wasm/wasm.cpp4
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");