diff --git a/src/mapleall/maple_be/src/be/becommon.cpp b/src/mapleall/maple_be/src/be/becommon.cpp index ec475deafd61b12bab74396884f6fa0d1077fb15..4fd33e1d607ab330f36c5c6360b8a23bd1022bf4 100644 --- a/src/mapleall/maple_be/src/be/becommon.cpp +++ b/src/mapleall/maple_be/src/be/becommon.cpp @@ -319,6 +319,9 @@ void BECommon::ComputeArrayTypeSizesAligns(MIRType &ty, const TyIdx &tyIdx) { } SetTypeSize(tyIdx, elemSize * numElems); SetTypeAlign(tyIdx, GetTypeAlign(elemType->GetTypeIndex())); + if (GetTypeAlign(tyIdx) < elemAlign) { + SetTypeAlign(tyIdx, elemAlign); + } } void BECommon::ComputeFArrayOrJArrayTypeSizesAligns(MIRType &ty, const TyIdx &tyIdx) {