Fix exportet variable alignment calculation
This commit is contained in:
parent
265be6e766
commit
a19469d851
|
@ -7348,6 +7348,9 @@ void InterCodeBasicBlock::UpdateLocalIntegerRangeSets(const GrowingVariableArray
|
|||
}
|
||||
break;
|
||||
|
||||
case IC_RELATIONAL_OPERATOR:
|
||||
vr.SetLimit(0, 1);
|
||||
break;
|
||||
case IC_BINARY_OPERATOR:
|
||||
switch (ins->mOperator)
|
||||
{
|
||||
|
@ -19334,7 +19337,7 @@ void InterCodeProcedure::Close(void)
|
|||
{
|
||||
GrowingTypeArray tstack(IT_NONE);
|
||||
|
||||
CheckFunc = !strcmp(mIdent->mString, "rebuild_screen");
|
||||
CheckFunc = !strcmp(mIdent->mString, "main");
|
||||
CheckCase = false;
|
||||
|
||||
mEntryBlock = mBlocks[0];
|
||||
|
|
|
@ -4525,7 +4525,7 @@ Declaration* Parser::ParseDeclaration(Declaration * pdec, bool variable, bool ex
|
|||
if (mScope->mLevel < SLEVEL_FUNCTION || (ndec->mFlags & DTF_STATIC))
|
||||
{
|
||||
if (ndec->mSize >= 256)
|
||||
ndec->mAlignment = ndec->mBase->Alignment();
|
||||
ndec->mAlignment = ((ndec->mAlignment - 1) | (ndec->mBase->Alignment() - 1)) + 1;
|
||||
|
||||
ndec->mFlags |= DTF_GLOBAL;
|
||||
ndec->mVarIndex = -1;
|
||||
|
|
Loading…
Reference in New Issue