llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-clang Author: Kazu Hirata (kazutakahirata) <details> <summary>Changes</summary> Note that an instance of ListSeparator evaluates to the empty string for the first time and then ", " for subsequent references. --- Full diff: https://github.com/llvm/llvm-project/pull/144936.diff 2 Files Affected: - (modified) clang/utils/TableGen/ClangAttrEmitter.cpp (+2-4) - (modified) clang/utils/TableGen/ClangDiagnosticsEmitter.cpp (+3-6) ``````````diff 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"; } `````````` </details> https://github.com/llvm/llvm-project/pull/144936 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits