From 887a51b1768f6cc7a1b51064d9ed75ccbaee8b74 Mon Sep 17 00:00:00 2001 From: drmortalwombat <90205530+drmortalwombat@users.noreply.github.com> Date: Sat, 26 Oct 2024 18:35:29 +0200 Subject: [PATCH] Fix array in struct const declaration without braces --- oscar64/Declaration.cpp | 2 ++ oscar64/Parser.cpp | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) 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)