[clang] [clang-tools-extra] [clang] Fix LogDiagnosticPrinter.h and ClangTidyPlugin.cpp after 9e306ad4 (PR #141131)

Jan Svoboda via cfe-commits cfe-commits at lists.llvm.org
Thu May 22 13:29:50 PDT 2025


https://github.com/jansvoboda11 updated https://github.com/llvm/llvm-project/pull/141131

>From b57f5b1adb7bb7bd70f8c442d0a0031fa0aeed2a Mon Sep 17 00:00:00 2001
From: Jan Svoboda <jan_svoboda at apple.com>
Date: Thu, 22 May 2025 13:22:18 -0700
Subject: [PATCH 1/2] [clang] Fix LogDiagnosticPrinter.h and
 ClangTidyPlugin.cpp after 9e306ad4

---
 clang-tools-extra/clang-tidy/plugin/ClangTidyPlugin.cpp | 5 +++--
 clang/include/clang/Frontend/LogDiagnosticPrinter.h     | 1 -
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/clang-tools-extra/clang-tidy/plugin/ClangTidyPlugin.cpp b/clang-tools-extra/clang-tidy/plugin/ClangTidyPlugin.cpp
index 7911583db30e4..8c98ba7b9238a 100644
--- a/clang-tools-extra/clang-tidy/plugin/ClangTidyPlugin.cpp
+++ b/clang-tools-extra/clang-tidy/plugin/ClangTidyPlugin.cpp
@@ -40,9 +40,10 @@ class ClangTidyPluginAction : public PluginASTAction {
     // Create and set diagnostics engine
     auto *DiagConsumer =
         new ClangTidyDiagnosticConsumer(*Context, &Compiler.getDiagnostics());
+    auto DiagOpts = std::make_unique<DiagnosticOptions>();
     auto DiagEngine = std::make_unique<DiagnosticsEngine>(
-        new DiagnosticIDs, new DiagnosticOptions, DiagConsumer);
-    Context->setDiagnosticsEngine(DiagEngine.get());
+        new DiagnosticIDs, *DiagOpts, DiagConsumer);
+    Context->setDiagnosticsEngine(std::move(DiagOpts), DiagEngine.get());
 
     // Create the AST consumer.
     ClangTidyASTConsumerFactory Factory(*Context);
diff --git a/clang/include/clang/Frontend/LogDiagnosticPrinter.h b/clang/include/clang/Frontend/LogDiagnosticPrinter.h
index b43b0da13967a..9807dfa3aba1a 100644
--- a/clang/include/clang/Frontend/LogDiagnosticPrinter.h
+++ b/clang/include/clang/Frontend/LogDiagnosticPrinter.h
@@ -51,7 +51,6 @@ class LogDiagnosticPrinter : public DiagnosticConsumer {
   raw_ostream &OS;
   std::unique_ptr<raw_ostream> StreamOwner;
   const LangOptions *LangOpts;
-  DiagnosticOptions &DiagOpts;
 
   SourceLocation LastWarningLoc;
   FullSourceLoc LastLoc;

>From bbc6989e05733632cc0ecb47ff5b7e9aaf8a258d Mon Sep 17 00:00:00 2001
From: Jan Svoboda <jan_svoboda at apple.com>
Date: Thu, 22 May 2025 13:29:30 -0700
Subject: [PATCH 2/2] Fix constructor

---
 clang/lib/Frontend/LogDiagnosticPrinter.cpp | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/clang/lib/Frontend/LogDiagnosticPrinter.cpp b/clang/lib/Frontend/LogDiagnosticPrinter.cpp
index 2d188931e4f8a..a4dd0298ef5e3 100644
--- a/clang/lib/Frontend/LogDiagnosticPrinter.cpp
+++ b/clang/lib/Frontend/LogDiagnosticPrinter.cpp
@@ -18,10 +18,9 @@ using namespace clang;
 using namespace markup;
 
 LogDiagnosticPrinter::LogDiagnosticPrinter(
-    raw_ostream &os, DiagnosticOptions &DiagOpts,
+    raw_ostream &os, DiagnosticOptions &,
     std::unique_ptr<raw_ostream> StreamOwner)
-    : OS(os), StreamOwner(std::move(StreamOwner)), LangOpts(nullptr),
-      DiagOpts(DiagOpts) {}
+    : OS(os), StreamOwner(std::move(StreamOwner)), LangOpts(nullptr) {}
 
 static StringRef getLevelName(DiagnosticsEngine::Level Level) {
   switch (Level) {



More information about the cfe-commits mailing list