This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGfe21c86ee75f: [clang-format] De-duplicate includes with leading or trailing whitespace. (authored by curdeius).
Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D88296/new/ https://reviews.llvm.org/D88296 Files: clang/lib/Format/Format.cpp clang/unittests/Format/SortIncludesTest.cpp Index: clang/unittests/Format/SortIncludesTest.cpp =================================================================== --- clang/unittests/Format/SortIncludesTest.cpp +++ clang/unittests/Format/SortIncludesTest.cpp @@ -289,6 +289,19 @@ sort("# include \"a.h\"\n" "# include \"c.h\"\n" "# include \"b.h\"\n")); + EXPECT_EQ("#include \"a.h\"\n", sort("#include \"a.h\"\n" + " #include \"a.h\"\n")); +} + +TEST_F(SortIncludesTest, TrailingWhitespace) { + EXPECT_EQ("#include \"a.h\"\n" + "#include \"b.h\"\n" + "#include \"c.h\"\n", + sort("#include \"a.h\" \n" + "#include \"c.h\" \n" + "#include \"b.h\" \n")); + EXPECT_EQ("#include \"a.h\"\n", sort("#include \"a.h\"\n" + "#include \"a.h\" \n")); } TEST_F(SortIncludesTest, GreaterInComment) { Index: clang/lib/Format/Format.cpp =================================================================== --- clang/lib/Format/Format.cpp +++ clang/lib/Format/Format.cpp @@ -2179,7 +2179,8 @@ // Deduplicate #includes. Indices.erase(std::unique(Indices.begin(), Indices.end(), [&](unsigned LHSI, unsigned RHSI) { - return Includes[LHSI].Text == Includes[RHSI].Text; + return Includes[LHSI].Text.trim() == + Includes[RHSI].Text.trim(); }), Indices.end());
Index: clang/unittests/Format/SortIncludesTest.cpp =================================================================== --- clang/unittests/Format/SortIncludesTest.cpp +++ clang/unittests/Format/SortIncludesTest.cpp @@ -289,6 +289,19 @@ sort("# include \"a.h\"\n" "# include \"c.h\"\n" "# include \"b.h\"\n")); + EXPECT_EQ("#include \"a.h\"\n", sort("#include \"a.h\"\n" + " #include \"a.h\"\n")); +} + +TEST_F(SortIncludesTest, TrailingWhitespace) { + EXPECT_EQ("#include \"a.h\"\n" + "#include \"b.h\"\n" + "#include \"c.h\"\n", + sort("#include \"a.h\" \n" + "#include \"c.h\" \n" + "#include \"b.h\" \n")); + EXPECT_EQ("#include \"a.h\"\n", sort("#include \"a.h\"\n" + "#include \"a.h\" \n")); } TEST_F(SortIncludesTest, GreaterInComment) { Index: clang/lib/Format/Format.cpp =================================================================== --- clang/lib/Format/Format.cpp +++ clang/lib/Format/Format.cpp @@ -2179,7 +2179,8 @@ // Deduplicate #includes. Indices.erase(std::unique(Indices.begin(), Indices.end(), [&](unsigned LHSI, unsigned RHSI) { - return Includes[LHSI].Text == Includes[RHSI].Text; + return Includes[LHSI].Text.trim() == + Includes[RHSI].Text.trim(); }), Indices.end());
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits