================ @@ -2582,17 +2582,20 @@ static void BuildFlattenedTypeList(QualType BaseTy, continue; } if (const auto *RT = dyn_cast<RecordType>(T)) { - const RecordDecl *RD = RT->getDecl(); - if (RD->isUnion()) { + const CXXRecordDecl *RD = RT->getAsCXXRecordDecl(); + assert(RD && "HLSL record types should all be CXXRecordDecls!"); + + if (RD->isStandardLayout()) + RD = RD->getStandardLayoutBaseWithFields(); + + // For types that we shouldn't decompose (unios and non-aggregates), just ---------------- bogner wrote:
```suggestion // For types that we shouldn't decompose (unions and non-aggregates), just ``` https://github.com/llvm/llvm-project/pull/123141 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits