diff --git a/oscar64/InterCode.cpp b/oscar64/InterCode.cpp index 193d776..93a954c 100644 --- a/oscar64/InterCode.cpp +++ b/oscar64/InterCode.cpp @@ -23581,7 +23581,7 @@ void InterCodeProcedure::Close(void) { GrowingTypeArray tstack(IT_NONE); - CheckFunc = !strcmp(mIdent->mString, "check_mulli"); + CheckFunc = !strcmp(mIdent->mString, "main"); CheckCase = false; mEntryBlock = mBlocks[0]; diff --git a/oscar64/InterCodeGenerator.cpp b/oscar64/InterCodeGenerator.cpp index 42769b3..4ee1c6f 100644 --- a/oscar64/InterCodeGenerator.cpp +++ b/oscar64/InterCodeGenerator.cpp @@ -3586,6 +3586,8 @@ InterCodeGenerator::ExValue InterCodeGenerator::TranslateExpression(Declaration* else dtype = TheSignedIntTypeDeclaration; } + else if (vl.mType->mSize == 1 && vr.mType->mSize == 1 && ((vr.mType->mFlags & DTF_SIGNED) || (vl.mType->mFlags & DTF_SIGNED))) + dtype = TheSignedIntTypeDeclaration; else { if (vl.mType->mSize == 4 || vr.mType->mSize == 4)