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; }