From f7b00eff95d6fda36c927a59b9cd015de35e6367 Mon Sep 17 00:00:00 2001 From: drmortalwombat <90205530+drmortalwombat@users.noreply.github.com> Date: Sun, 15 Sep 2024 13:00:33 +0200 Subject: [PATCH] Fix object array member init regression --- oscar64/NativeCodeGenerator.cpp | 2 +- oscar64/Parser.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/oscar64/NativeCodeGenerator.cpp b/oscar64/NativeCodeGenerator.cpp index c25977f..2a6f05c 100644 --- a/oscar64/NativeCodeGenerator.cpp +++ b/oscar64/NativeCodeGenerator.cpp @@ -51356,7 +51356,7 @@ bool NativeCodeProcedure::MapFastParamsToTemps(void) } NativeCodeBasicBlock* block = mEntryBlock; - while (block && block->mIns.Size() == 0 && !block->mFalseJump) + while (block && block->mIns.Size() == 0 && !block->mFalseJump && block->mTrueJump != block) block = block->mTrueJump; if (block && block->mNumEntries == 1) diff --git a/oscar64/Parser.cpp b/oscar64/Parser.cpp index da916d5..17b4e38 100644 --- a/oscar64/Parser.cpp +++ b/oscar64/Parser.cpp @@ -2209,11 +2209,11 @@ void Parser::PrependMemberConstructor(Declaration* pthis, Declaration* cfunc) } else { - qexp->mDecType = bdec; + qexp->mDecType = dec->mBase; dexp = new Expression(mScanner->mLocation, EX_INITIALIZATION); dexp->mToken = TK_ASSIGN; - dexp->mDecType = bdec; + dexp->mDecType = dec->mBase; dexp->mLeft = qexp; dexp->mRight = dec->mValue; }