diff --git a/oscar64/Declaration.cpp b/oscar64/Declaration.cpp index 9b8e8a5..9581320 100644 --- a/oscar64/Declaration.cpp +++ b/oscar64/Declaration.cpp @@ -2205,6 +2205,7 @@ Declaration* Declaration::ToConstType(void) Declaration* ndec = new Declaration(mLocation, mType); ndec->mSize = mSize; ndec->mStride = mStride; + ndec->mStripe = mStripe; ndec->mBase = mBase; ndec->mFlags = mFlags | DTF_CONST; ndec->mScope = mScope; @@ -2239,6 +2240,7 @@ Declaration* Declaration::ToMutableType(void) Declaration* ndec = new Declaration(mLocation, mType); ndec->mSize = mSize; ndec->mStride = mStride; + ndec->mStripe = mStripe; ndec->mBase = mBase; ndec->mFlags = mFlags | DTF_CONST; ndec->mScope = mScope; diff --git a/oscar64/Parser.cpp b/oscar64/Parser.cpp index 22fbb71..c865909 100644 --- a/oscar64/Parser.cpp +++ b/oscar64/Parser.cpp @@ -2332,7 +2332,7 @@ Expression* Parser::ParseConstInitExpression(Declaration* dtype, bool inner) if (mdec) { - Expression* texp = ParseConstInitExpression(mdec->mBase); + Expression* texp = ParseConstInitExpression(mdec->mBase, true); Declaration* cdec = CopyConstantInitializer(mdec->mOffset, mdec->mBase, texp); if (cdec)