================
@@ -3092,6 +3094,65 @@ InitListChecker::CheckDesignatedInitializer(const
InitializedEntity &Entity,
PrevField = *FI;
}
+ const auto GenerateDesignatedInitReorderingFixit =
+ [&](SemaBase::SemaDiagnosticBuilder &Diags) {
+ struct ReorderInfo {
+ int Pos{};
+ const Expr *InitExpr{};
+ };
+
+ llvm::SmallDenseMap<IdentifierInfo *, int> MemberNameInx{};
+ llvm::SmallVector<ReorderInfo, 16> ReorderedInitExprs{};
+
+ const auto *CxxRecord =
+ IList->getSemanticForm()->getType()->getAsCXXRecordDecl();
+
+ for (const auto &Field : CxxRecord->fields()) {
+ MemberNameInx[Field->getIdentifier()] = Field->getFieldIndex();
+ }
+
+ for (const auto *Init : IList->inits()) {
----------------
MythreyaK wrote:
Do I replace `auto` for `FieldName` below as well?
https://github.com/llvm/llvm-project/pull/173136
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits