[clang] dc058a3 - [TableGen] Use ListSeparator (NFC) (#144936)
via cfe-commits
cfe-commits at lists.llvm.org
Thu Jun 19 13:17:27 PDT 2025
Author: Kazu Hirata
Date: 2025-06-19T13:17:23-07:00
New Revision: dc058a3d84ed1bc4006416023e8b336f3214bdc7
URL: https://github.com/llvm/llvm-project/commit/dc058a3d84ed1bc4006416023e8b336f3214bdc7
DIFF: https://github.com/llvm/llvm-project/commit/dc058a3d84ed1bc4006416023e8b336f3214bdc7.diff
LOG: [TableGen] Use ListSeparator (NFC) (#144936)
Note that an instance of ListSeparator evaluates to the empty string
for the first time and then ", " for subsequent references.
Added:
Modified:
clang/utils/TableGen/ClangAttrEmitter.cpp
clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
Removed:
################################################################################
diff --git a/clang/utils/TableGen/ClangAttrEmitter.cpp b/clang/utils/TableGen/ClangAttrEmitter.cpp
index f892626a447e5..dfeb6b1b1ec19 100644
--- a/clang/utils/TableGen/ClangAttrEmitter.cpp
+++ b/clang/utils/TableGen/ClangAttrEmitter.cpp
@@ -5482,14 +5482,12 @@ void EmitTestPragmaAttributeSupportedAttributes(const RecordKeeper &Records,
}
const Record *SubjectObj = I.second->getValueAsDef("Subjects");
OS << " (";
- bool PrintComma = false;
+ ListSeparator LS;
for (const auto &Subject :
enumerate(SubjectObj->getValueAsListOfDefs("Subjects"))) {
if (!isSupportedPragmaClangAttributeSubject(*Subject.value()))
continue;
- if (PrintComma)
- OS << ", ";
- PrintComma = true;
+ OS << LS;
PragmaClangAttributeSupport::RuleOrAggregateRuleSet &RuleSet =
Support.SubjectsToRules.find(Subject.value())->getSecond();
if (RuleSet.isRule()) {
diff --git a/clang/utils/TableGen/ClangDiagnosticsEmitter.cpp b/clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
index bfc60f485cd32..b28cb2c09ac5c 100644
--- a/clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
+++ b/clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
@@ -2225,13 +2225,10 @@ void clang::EmitClangDiagDocs(const RecordKeeper &Records, raw_ostream &OS) {
else
OS << "Also controls ";
- bool First = true;
sort(GroupInfo.SubGroups);
- for (StringRef Name : GroupInfo.SubGroups) {
- if (!First) OS << ", ";
- OS << "`" << (IsRemarkGroup ? "-R" : "-W") << Name << "`_";
- First = false;
- }
+ ListSeparator LS;
+ for (StringRef Name : GroupInfo.SubGroups)
+ OS << LS << "`" << (IsRemarkGroup ? "-R" : "-W") << Name << "`_";
OS << ".\n\n";
}
More information about the cfe-commits
mailing list