Merge remote-tracking branch 'origin/main' into rebranch

This commit is contained in:
swift-ci
2023-07-31 08:53:31 -07:00
10 changed files with 103 additions and 40 deletions

View File

@@ -3200,15 +3200,19 @@ class Serializer::DeclSerializer : public DeclVisitor<DeclSerializer> {
uint8_t rawAlign;
TypeID typeID;
auto SD = const_cast<StructDecl*>(cast<StructDecl>(D));
if (auto sizeAndAlign = attr->getSizeAndAlignment()) {
typeID = 0;
rawSize = sizeAndAlign->first;
rawAlign = sizeAndAlign->second;
} else if (auto likeType = attr->getResolvedScalarLikeType()) {
} else if (auto likeType
= attr->getResolvedScalarLikeType(SD)) {
typeID = S.addTypeRef(*likeType);
rawSize = 0;
rawAlign = 0;
} else if (auto likeArrayTypeAndCount = attr->getResolvedArrayLikeTypeAndCount()) {
} else if (auto likeArrayTypeAndCount
= attr->getResolvedArrayLikeTypeAndCount(SD)) {
typeID = S.addTypeRef(likeArrayTypeAndCount->first);
rawSize = likeArrayTypeAndCount->second;
rawAlign = static_cast<uint8_t>(~0u);