Index: clang-tools-extra/trunk/clangd/QueryDriverDatabase.cpp =================================================================== --- clang-tools-extra/trunk/clangd/QueryDriverDatabase.cpp +++ clang-tools-extra/trunk/clangd/QueryDriverDatabase.cpp @@ -59,7 +59,7 @@ std::vector parseDriverOutput(llvm::StringRef Output) { std::vector 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 Lines; Output.split(Lines, '\n', /*MaxSplit=*/-1, /*KeepEmpty=*/false); @@ -70,7 +70,9 @@ 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 {}; Index: clang-tools-extra/trunk/clangd/test/system-include-extractor.test =================================================================== --- clang-tools-extra/trunk/clangd/test/system-include-extractor.test +++ clang-tools-extra/trunk/clangd/test/system-include-extractor.test @@ -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