Author: kadir çetinkaya Date: 2023-09-11T07:22:52+02:00 New Revision: d3cfc7126c160641bc2630cdf2cbdb61abf8bc6d
URL: https://github.com/llvm/llvm-project/commit/d3cfc7126c160641bc2630cdf2cbdb61abf8bc6d DIFF: https://github.com/llvm/llvm-project/commit/d3cfc7126c160641bc2630cdf2cbdb61abf8bc6d.diff LOG: [include-cleaner] Always keep non-self-contained files (#65499) Added: Modified: clang-tools-extra/clangd/unittests/IncludeCleanerTests.cpp clang-tools-extra/include-cleaner/lib/Record.cpp clang-tools-extra/include-cleaner/unittests/RecordTest.cpp clang-tools-extra/unittests/clang-tidy/IncludeCleanerTest.cpp Removed: ################################################################################ diff --git a/clang-tools-extra/clangd/unittests/IncludeCleanerTests.cpp b/clang-tools-extra/clangd/unittests/IncludeCleanerTests.cpp index b90bab70c4d90a8..5a6524dec2f09a6 100644 --- a/clang-tools-extra/clangd/unittests/IncludeCleanerTests.cpp +++ b/clang-tools-extra/clangd/unittests/IncludeCleanerTests.cpp @@ -88,10 +88,10 @@ TEST(IncludeCleaner, StdlibUnused) { template <typename> class vector {}; } )cpp"; - TU.AdditionalFiles["list"] = "#include <bits>"; - TU.AdditionalFiles["queue"] = "#include <bits>"; - TU.AdditionalFiles["vector"] = "#include <bits>"; - TU.AdditionalFiles["string"] = "#include <bits>"; + TU.AdditionalFiles["list"] = guard("#include <bits>"); + TU.AdditionalFiles["queue"] = guard("#include <bits>"); + TU.AdditionalFiles["vector"] = guard("#include <bits>"); + TU.AdditionalFiles["string"] = guard("#include <bits>"); TU.ExtraArgs = {"-isystem", testRoot()}; auto AST = TU.build(); IncludeCleanerFindings Findings = computeIncludeCleanerFindings(AST); diff --git a/clang-tools-extra/include-cleaner/lib/Record.cpp b/clang-tools-extra/include-cleaner/lib/Record.cpp index f3253fec01bf9a5..4e96e8eb208b7da 100644 --- a/clang-tools-extra/include-cleaner/lib/Record.cpp +++ b/clang-tools-extra/include-cleaner/lib/Record.cpp @@ -430,7 +430,8 @@ bool PragmaIncludes::isPrivate(const FileEntry *FE) const { } bool PragmaIncludes::shouldKeep(const FileEntry *FE) const { - return ShouldKeep.contains(FE->getUniqueID()); + return ShouldKeep.contains(FE->getUniqueID()) || + NonSelfContainedFiles.contains(FE->getUniqueID()); } namespace { diff --git a/clang-tools-extra/include-cleaner/unittests/RecordTest.cpp b/clang-tools-extra/include-cleaner/unittests/RecordTest.cpp index 4f3b5c7ace65ebd..36850731d514539 100644 --- a/clang-tools-extra/include-cleaner/unittests/RecordTest.cpp +++ b/clang-tools-extra/include-cleaner/unittests/RecordTest.cpp @@ -320,7 +320,7 @@ class PragmaIncludeTest : public ::testing::Test { void createEmptyFiles(llvm::ArrayRef<StringRef> FileNames) { for (llvm::StringRef File : FileNames) - Inputs.ExtraFiles[File] = ""; + Inputs.ExtraFiles[File] = "#pragma once"; } }; diff --git a/clang-tools-extra/unittests/clang-tidy/IncludeCleanerTest.cpp b/clang-tools-extra/unittests/clang-tidy/IncludeCleanerTest.cpp index f84133b01a3a49f..0c29b469b617b7c 100644 --- a/clang-tools-extra/unittests/clang-tidy/IncludeCleanerTest.cpp +++ b/clang-tools-extra/unittests/clang-tidy/IncludeCleanerTest.cpp @@ -47,9 +47,10 @@ TEST(IncludeCleanerCheckTest, BasicUnusedIncludes) { const char *PostCode = "\n"; std::vector<ClangTidyError> Errors; - EXPECT_EQ(PostCode, runCheckOnCode<IncludeCleanerCheck>( - PreCode, &Errors, "file.cpp", std::nullopt, - ClangTidyOptions(), {{"bar.h", ""}, {"vector", ""}})); + EXPECT_EQ(PostCode, + runCheckOnCode<IncludeCleanerCheck>( + PreCode, &Errors, "file.cpp", std::nullopt, ClangTidyOptions(), + {{"bar.h", "#pragma once"}, {"vector", "#pragma once"}})); } TEST(IncludeCleanerCheckTest, SuppressUnusedIncludes) { @@ -76,10 +77,11 @@ TEST(IncludeCleanerCheckTest, SuppressUnusedIncludes) { PostCode, runCheckOnCode<IncludeCleanerCheck>( PreCode, &Errors, "file.cpp", std::nullopt, Opts, - {{"bar.h", ""}, - {"vector", ""}, - {appendPathFileSystemIndependent({"foo", "qux.h"}), ""}, - {appendPathFileSystemIndependent({"baz", "qux", "qux.h"}), ""}})); + {{"bar.h", "#pragma once"}, + {"vector", "#pragma once"}, + {appendPathFileSystemIndependent({"foo", "qux.h"}), "#pragma once"}, + {appendPathFileSystemIndependent({"baz", "qux", "qux.h"}), + "#pragma once"}})); } TEST(IncludeCleanerCheckTest, BasicMissingIncludes) { _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits