diff --git a/src/ZoneCodeGeneratorLib/Domain/Computations/MemberDeclarationModifierComputations.cpp b/src/ZoneCodeGeneratorLib/Domain/Computations/MemberDeclarationModifierComputations.cpp index 935c19d9..6699322b 100644 --- a/src/ZoneCodeGeneratorLib/Domain/Computations/MemberDeclarationModifierComputations.cpp +++ b/src/ZoneCodeGeneratorLib/Domain/Computations/MemberDeclarationModifierComputations.cpp @@ -242,7 +242,7 @@ const IEvaluation* DeclarationModifierComputations::GetDynamicArraySizeEvaluatio return dynamic_cast(declarationModifier)->m_dynamic_size_evaluation.get(); } -int DeclarationModifierComputations::GetAlignment() const +unsigned DeclarationModifierComputations::GetAlignment() const { const auto following = GetFollowingDeclarationModifiers(); diff --git a/src/ZoneCodeGeneratorLib/Domain/Computations/MemberDeclarationModifierComputations.h b/src/ZoneCodeGeneratorLib/Domain/Computations/MemberDeclarationModifierComputations.h index 93fc3685..490697d3 100644 --- a/src/ZoneCodeGeneratorLib/Domain/Computations/MemberDeclarationModifierComputations.h +++ b/src/ZoneCodeGeneratorLib/Domain/Computations/MemberDeclarationModifierComputations.h @@ -31,5 +31,5 @@ public: _NODISCARD const IEvaluation* GetPointerArrayCountEvaluation() const; _NODISCARD bool IsDynamicArray() const; _NODISCARD const IEvaluation* GetDynamicArraySizeEvaluation() const; - _NODISCARD int GetAlignment() const; + _NODISCARD unsigned GetAlignment() const; }; diff --git a/src/ZoneCodeGeneratorLib/Generating/Templates/ZoneLoadTemplate.cpp b/src/ZoneCodeGeneratorLib/Generating/Templates/ZoneLoadTemplate.cpp index 88c5e355..77150487 100644 --- a/src/ZoneCodeGeneratorLib/Generating/Templates/ZoneLoadTemplate.cpp +++ b/src/ZoneCodeGeneratorLib/Generating/Templates/ZoneLoadTemplate.cpp @@ -726,7 +726,15 @@ class ZoneLoadTemplate::Internal final : BaseTemplate void LoadMember_PointerArray(StructureInformation* info, MemberInformation* member, const DeclarationModifierComputations& modifier) const { - LINE("// LoadPointerArray: " << member->m_member->m_name) + LINE(MakeTypePtrVarName(member->m_member->m_type_declaration->m_type) << " = " << MakeMemberAccess(info, member, modifier) << ";") + if (modifier.IsArray()) + { + LINE("LoadPtrArray_"<m_member->m_type_declaration->m_type)<<"(false, "<m_member->m_type_declaration->m_type)<<"(true, "<Alloc<"<(alignof("<