From 3553c9c4da1f1f642b46c2c776d26e324e32f783 Mon Sep 17 00:00:00 2001 From: Rangi Date: Tue, 18 Nov 2025 16:40:24 -0500 Subject: [PATCH] Fix RGBLINK evaluation of undefined RPN symbols This was the only RPN case to not assign a deliberate value in all possible branches. Fixes #1858 --- src/link/patch.cpp | 1 + test/link/rpn-bad-sym-id.asm | 3 +++ test/link/rpn-bad-sym-id.out | 5 +++++ 3 files changed, 9 insertions(+) create mode 100644 test/link/rpn-bad-sym-id.asm create mode 100644 test/link/rpn-bad-sym-id.out diff --git a/src/link/patch.cpp b/src/link/patch.cpp index 7d1b9ed6..36c839ca 100644 --- a/src/link/patch.cpp +++ b/src/link/patch.cpp @@ -437,6 +437,7 @@ static int32_t computeRPNExpr(Patch const &patch, std::vector const &fil } else if (Symbol const *symbol = getSymbol(fileSymbols, value); !symbol) { errorAt(patch, "Undefined symbol `%s`", fileSymbols[value].name.c_str()); sym_TraceLocalAliasedSymbols(fileSymbols[value].name); + value = 0; isError = true; } else if (std::holds_alternative