wip: multiple variants in zonecode

This commit is contained in:
Jan Laupetin
2026-08-19 19:36:15 +02:00
parent cdaeb19bcb
commit 6d44ed0568
53 changed files with 392 additions and 276 deletions
@@ -263,7 +263,7 @@ bool DeclarationModifierComputations::HasPointerModifier() const
});
}
unsigned DeclarationModifierComputations::GetAlignment() const
unsigned DeclarationModifierComputations::GetAlignment(const WordSize wordSize) const
{
const auto following = GetFollowingDeclarationModifiers();
@@ -272,6 +272,6 @@ unsigned DeclarationModifierComputations::GetAlignment() const
{
return modifier->GetType() == DeclarationModifierType::POINTER;
})
? m_information->m_member->GetAlignment()
: m_information->m_member->m_type_declaration->m_type->GetAlignment();
? m_information->m_member->GetAlignment(wordSize)
: m_information->m_member->m_type_declaration->m_type->GetAlignment(wordSize);
}
@@ -28,7 +28,7 @@ public:
[[nodiscard]] bool IsDynamicArray() const;
[[nodiscard]] const IEvaluation* GetDynamicArraySizeEvaluation() const;
[[nodiscard]] bool HasPointerModifier() const;
[[nodiscard]] unsigned GetAlignment() const;
[[nodiscard]] unsigned GetAlignment(WordSize wordSize) const;
private:
DeclarationModifierComputations(const MemberInformation* member, std::vector<int> modifierIndices);