Author: Alex Richardson Date: 2020-10-20T10:13:28+01:00 New Revision: 66a3b9073ac116f0ee39baf625c733abe18140e5
URL: https://github.com/llvm/llvm-project/commit/66a3b9073ac116f0ee39baf625c733abe18140e5 DIFF: https://github.com/llvm/llvm-project/commit/66a3b9073ac116f0ee39baf625c733abe18140e5.diff LOG: [clang-format] Drop clangFrontend dependency for FormatTests This allows building the clang-format unit tests in only 657 ninja steps rather than 1257 which allows for much faster incremental builds after a git pull. Reviewed By: MyDeveloperDay Differential Revision: https://reviews.llvm.org/D89709 Added: Modified: clang/unittests/Format/CMakeLists.txt clang/unittests/Format/CleanupTest.cpp clang/unittests/Format/FormatTest.cpp clang/unittests/Format/FormatTestComments.cpp clang/unittests/Format/FormatTestObjC.cpp clang/unittests/Format/FormatTestRawStrings.cpp clang/unittests/Format/NamespaceEndCommentsFixerTest.cpp clang/unittests/Tooling/RewriterTestContext.h Removed: ################################################################################ diff --git a/clang/unittests/Format/CMakeLists.txt b/clang/unittests/Format/CMakeLists.txt index d0cc2cae179f..472e6eec40af 100644 --- a/clang/unittests/Format/CMakeLists.txt +++ b/clang/unittests/Format/CMakeLists.txt @@ -27,7 +27,6 @@ clang_target_link_libraries(FormatTests PRIVATE clangBasic clangFormat - clangFrontend clangRewrite clangToolingCore ) diff --git a/clang/unittests/Format/CleanupTest.cpp b/clang/unittests/Format/CleanupTest.cpp index 9649b981d558..dc149b502bc5 100644 --- a/clang/unittests/Format/CleanupTest.cpp +++ b/clang/unittests/Format/CleanupTest.cpp @@ -9,7 +9,6 @@ #include "clang/Format/Format.h" #include "../Tooling/ReplacementTest.h" -#include "../Tooling/RewriterTestContext.h" #include "clang/Tooling/Core/Replacement.h" #include "gtest/gtest.h" diff --git a/clang/unittests/Format/FormatTest.cpp b/clang/unittests/Format/FormatTest.cpp index 1bdd7062fbb8..be9c84332265 100644 --- a/clang/unittests/Format/FormatTest.cpp +++ b/clang/unittests/Format/FormatTest.cpp @@ -11,7 +11,6 @@ #include "../Tooling/ReplacementTest.h" #include "FormatTestUtils.h" -#include "clang/Frontend/TextDiagnosticPrinter.h" #include "llvm/Support/Debug.h" #include "llvm/Support/MemoryBuffer.h" #include "gtest/gtest.h" diff --git a/clang/unittests/Format/FormatTestComments.cpp b/clang/unittests/Format/FormatTestComments.cpp index 34d6b62b26c8..95afb17114a2 100644 --- a/clang/unittests/Format/FormatTestComments.cpp +++ b/clang/unittests/Format/FormatTestComments.cpp @@ -11,7 +11,6 @@ #include "../Tooling/ReplacementTest.h" #include "FormatTestUtils.h" -#include "clang/Frontend/TextDiagnosticPrinter.h" #include "llvm/Support/Debug.h" #include "llvm/Support/MemoryBuffer.h" #include "gtest/gtest.h" diff --git a/clang/unittests/Format/FormatTestObjC.cpp b/clang/unittests/Format/FormatTestObjC.cpp index 21b8d4701271..a34a0832286b 100644 --- a/clang/unittests/Format/FormatTestObjC.cpp +++ b/clang/unittests/Format/FormatTestObjC.cpp @@ -11,7 +11,6 @@ #include "../Tooling/ReplacementTest.h" #include "FormatTestUtils.h" -#include "clang/Frontend/TextDiagnosticPrinter.h" #include "llvm/Support/Debug.h" #include "llvm/Support/MemoryBuffer.h" #include "gtest/gtest.h" diff --git a/clang/unittests/Format/FormatTestRawStrings.cpp b/clang/unittests/Format/FormatTestRawStrings.cpp index 31490355468e..6310fe510fd3 100644 --- a/clang/unittests/Format/FormatTestRawStrings.cpp +++ b/clang/unittests/Format/FormatTestRawStrings.cpp @@ -11,7 +11,6 @@ #include "../Tooling/ReplacementTest.h" #include "FormatTestUtils.h" -#include "clang/Frontend/TextDiagnosticPrinter.h" #include "llvm/Support/Debug.h" #include "llvm/Support/MemoryBuffer.h" #include "gtest/gtest.h" diff --git a/clang/unittests/Format/NamespaceEndCommentsFixerTest.cpp b/clang/unittests/Format/NamespaceEndCommentsFixerTest.cpp index 463afa67e8b0..3340e02f4a1c 100644 --- a/clang/unittests/Format/NamespaceEndCommentsFixerTest.cpp +++ b/clang/unittests/Format/NamespaceEndCommentsFixerTest.cpp @@ -8,7 +8,6 @@ #include "clang/Format/Format.h" -#include "clang/Frontend/TextDiagnosticPrinter.h" #include "llvm/Support/Debug.h" #include "gtest/gtest.h" diff --git a/clang/unittests/Tooling/RewriterTestContext.h b/clang/unittests/Tooling/RewriterTestContext.h index 99f7a11dca98..ae2d2baa0fdc 100644 --- a/clang/unittests/Tooling/RewriterTestContext.h +++ b/clang/unittests/Tooling/RewriterTestContext.h @@ -18,7 +18,6 @@ #include "clang/Basic/FileManager.h" #include "clang/Basic/LangOptions.h" #include "clang/Basic/SourceManager.h" -#include "clang/Frontend/TextDiagnosticPrinter.h" #include "clang/Rewrite/Core/Rewriter.h" #include "llvm/Support/FileSystem.h" #include "llvm/Support/Path.h" @@ -26,6 +25,22 @@ namespace clang { +/// \brief A very simple diagnostic consumer that prints to stderr and keeps +/// track of the number of diagnostics. +/// +/// This avoids a dependency on clangFrontend for FormatTests. +struct RewriterDiagnosticConsumer : public DiagnosticConsumer { + RewriterDiagnosticConsumer() : NumDiagnosticsSeen(0) {} + void HandleDiagnostic(DiagnosticsEngine::Level DiagLevel, + const Diagnostic &Info) override { + ++NumDiagnosticsSeen; + SmallString<100> OutStr; + Info.FormatDiagnostic(OutStr); + llvm::errs() << OutStr; + } + unsigned NumDiagnosticsSeen; +}; + /// \brief A class that sets up a ready to use Rewriter. /// /// Useful in unit tests that need a Rewriter. Creates all dependencies @@ -37,7 +52,6 @@ class RewriterTestContext { : DiagOpts(new DiagnosticOptions()), Diagnostics(IntrusiveRefCntPtr<DiagnosticIDs>(new DiagnosticIDs), &*DiagOpts), - DiagnosticPrinter(llvm::outs(), &*DiagOpts), InMemoryFileSystem(new llvm::vfs::InMemoryFileSystem), OverlayFileSystem( new llvm::vfs::OverlayFileSystem(llvm::vfs::getRealFileSystem())), @@ -113,7 +127,7 @@ class RewriterTestContext { IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts; DiagnosticsEngine Diagnostics; - TextDiagnosticPrinter DiagnosticPrinter; + RewriterDiagnosticConsumer DiagnosticPrinter; IntrusiveRefCntPtr<llvm::vfs::InMemoryFileSystem> InMemoryFileSystem; IntrusiveRefCntPtr<llvm::vfs::OverlayFileSystem> OverlayFileSystem; FileManager Files; _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits