From 6f599272c66f65472f5e4c8d759d5bca77e47da6 Mon Sep 17 00:00:00 2001 From: Alon Zakai Date: Wed, 5 Jan 2022 09:12:14 -0800 Subject: 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. --- src/wasm/wasm-binary.cpp | 5 ++++- src/wasm/wasm.cpp | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) (limited to 'src') 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"); -- cgit v1.2.3