Author: Rahul Joshi Date: 2024-10-01T06:52:20-07:00 New Revision: 52e7c699a5a0cbc157773cd1790a669d14d681cf
URL: https://github.com/llvm/llvm-project/commit/52e7c699a5a0cbc157773cd1790a669d14d681cf DIFF: https://github.com/llvm/llvm-project/commit/52e7c699a5a0cbc157773cd1790a669d14d681cf.diff LOG: [Clang][TableGen] Change ClangDiagnosticEmitter to use const Record * (#110585) This is a part of effort to have better const correctness in TableGen backends: https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089 Added: Modified: clang/utils/TableGen/ClangDiagnosticsEmitter.cpp Removed: ################################################################################ diff --git a/clang/utils/TableGen/ClangDiagnosticsEmitter.cpp b/clang/utils/TableGen/ClangDiagnosticsEmitter.cpp index 7a8aa181c7588f..d9bb0630aff5f3 100644 --- a/clang/utils/TableGen/ClangDiagnosticsEmitter.cpp +++ b/clang/utils/TableGen/ClangDiagnosticsEmitter.cpp @@ -47,8 +47,8 @@ class DiagGroupParentMap { ArrayRef<const Record *> DiagGroups = Records.getAllDerivedDefinitions("DiagGroup"); for (unsigned i = 0, e = DiagGroups.size(); i != e; ++i) { - std::vector<Record*> SubGroups = - DiagGroups[i]->getValueAsListOfDefs("SubGroups"); + std::vector<const Record *> SubGroups = + DiagGroups[i]->getValueAsListOfConstDefs("SubGroups"); for (unsigned j = 0, e = SubGroups.size(); j != e; ++j) Mapping[SubGroups[j]].push_back(DiagGroups[i]); } @@ -180,10 +180,8 @@ static void groupDiagnostics(ArrayRef<const Record *> Diags, GI.GroupName = Group->getName(); GI.Defs.push_back(Group); - std::vector<Record*> SubGroups = Group->getValueAsListOfDefs("SubGroups"); - for (unsigned j = 0, e = SubGroups.size(); j != e; ++j) - GI.SubGroups.push_back( - std::string(SubGroups[j]->getValueAsString("GroupName"))); + for (const Record *SubGroup : Group->getValueAsListOfDefs("SubGroups")) + GI.SubGroups.push_back(SubGroup->getValueAsString("GroupName").str()); } // Assign unique ID numbers to the groups. _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits