Merged to release_90 in r367571.
On Fri, Jul 19, 2019 at 11:07 AM Kadir Cetinkaya via cfe-commits <cfe-commits@lists.llvm.org> wrote: > > Author: kadircet > Date: Fri Jul 19 02:08:22 2019 > New Revision: 366545 > > URL: http://llvm.org/viewvc/llvm-project?rev=366545&view=rev > Log: > [clangd] Handle windows line endings in QueryDriver > > Summary: > The previous patch did not fix the end mark. D64789 > fixes second case of https://github.com/clangd/clangd/issues/93 > > Patch by @lh123 ! > > Reviewers: sammccall, kadircet > > Reviewed By: kadircet > > Subscribers: MaskRay, ilya-biryukov, jkorous, arphaman, cfe-commits > > Tags: #clang-tools-extra, #clang > > Differential Revision: https://reviews.llvm.org/D64970 > > Modified: > clang-tools-extra/trunk/clangd/QueryDriverDatabase.cpp > clang-tools-extra/trunk/clangd/test/system-include-extractor.test > > Modified: clang-tools-extra/trunk/clangd/QueryDriverDatabase.cpp > URL: > http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clangd/QueryDriverDatabase.cpp?rev=366545&r1=366544&r2=366545&view=diff > ============================================================================== > --- clang-tools-extra/trunk/clangd/QueryDriverDatabase.cpp (original) > +++ clang-tools-extra/trunk/clangd/QueryDriverDatabase.cpp Fri Jul 19 > 02:08:22 2019 > @@ -59,7 +59,7 @@ namespace { > std::vector<std::string> parseDriverOutput(llvm::StringRef Output) { > std::vector<std::string> SystemIncludes; > const char SIS[] = "#include <...> search starts here:"; > - constexpr char const *SIE = "End of search list."; > + const char SIE[] = "End of search list."; > llvm::SmallVector<llvm::StringRef, 8> Lines; > Output.split(Lines, '\n', /*MaxSplit=*/-1, /*KeepEmpty=*/false); > > @@ -70,7 +70,9 @@ std::vector<std::string> parseDriverOutp > return {}; > } > ++StartIt; > - const auto EndIt = std::find(StartIt, Lines.end(), SIE); > + const auto EndIt = > + llvm::find_if(llvm::make_range(StartIt, Lines.end()), > + [SIE](llvm::StringRef Line) { return Line.trim() == SIE; > }); > if (EndIt == Lines.end()) { > elog("System include extraction: end marker missing: {0}", Output); > return {}; > > Modified: clang-tools-extra/trunk/clangd/test/system-include-extractor.test > URL: > http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clangd/test/system-include-extractor.test?rev=366545&r1=366544&r2=366545&view=diff > ============================================================================== > --- clang-tools-extra/trunk/clangd/test/system-include-extractor.test > (original) > +++ clang-tools-extra/trunk/clangd/test/system-include-extractor.test Fri Jul > 19 02:08:22 2019 > @@ -8,7 +8,7 @@ > # RUN: echo 'echo -e "#include <...> search starts here:\r" >&2' >> > %t.dir/my_driver.sh > # RUN: echo 'echo %t.dir/my/dir/ >&2' >> %t.dir/my_driver.sh > # RUN: echo 'echo %t.dir/my/dir2/ >&2' >> %t.dir/my_driver.sh > -# RUN: echo 'echo End of search list. >&2' >> %t.dir/my_driver.sh > +# RUN: echo 'echo -e "End of search list.\r" >&2' >> %t.dir/my_driver.sh > # RUN: chmod +x %t.dir/my_driver.sh > > # Create header files my/dir/a.h and my/dir2/b.h > > > _______________________________________________ > cfe-commits mailing list > cfe-commits@lists.llvm.org > https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits