aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Tooling/CompilationDatabase.cpp
diff options
context:
space:
mode:
authorSam McCall <sam.mccall@gmail.com>2020-05-18 23:01:46 +0200
committerSam McCall <sam.mccall@gmail.com>2020-05-19 11:20:02 +0200
commit48aa781ae44a611967084ca031fdbb3a0712c40c (patch)
tree369e8ca313c1712278f8a50e7b06f838fdc2482a /clang/lib/Tooling/CompilationDatabase.cpp
parent1d579f54d720dcc53e11386fdec59e07614599a5 (diff)
downloadllvm-48aa781ae44a611967084ca031fdbb3a0712c40c.zip
llvm-48aa781ae44a611967084ca031fdbb3a0712c40c.tar.gz
llvm-48aa781ae44a611967084ca031fdbb3a0712c40c.tar.bz2
[Tooling] Drop leading/trailing whitespace from compile_flags.txt lines
Summary: These files tend to be hand-authored, and people get very confused. I can't think of any reason that such whitespace would be intended. Reviewers: kadircet Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D80160
Diffstat (limited to 'clang/lib/Tooling/CompilationDatabase.cpp')
-rw-r--r--clang/lib/Tooling/CompilationDatabase.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/clang/lib/Tooling/CompilationDatabase.cpp b/clang/lib/Tooling/CompilationDatabase.cpp
index 3590f19..254314b 100644
--- a/clang/lib/Tooling/CompilationDatabase.cpp
+++ b/clang/lib/Tooling/CompilationDatabase.cpp
@@ -368,8 +368,14 @@ FixedCompilationDatabase::loadFromFile(StringRef Path, std::string &ErrorMsg) {
ErrorMsg = "Error while opening fixed database: " + Result.message();
return nullptr;
}
- std::vector<std::string> Args{llvm::line_iterator(**File),
- llvm::line_iterator()};
+ std::vector<std::string> Args;
+ for (llvm::StringRef Line :
+ llvm::make_range(llvm::line_iterator(**File), llvm::line_iterator())) {
+ // Stray whitespace is almost certainly unintended.
+ Line = Line.trim();
+ if (!Line.empty())
+ Args.push_back(Line.str());
+ }
return std::make_unique<FixedCompilationDatabase>(
llvm::sys::path::parent_path(Path), std::move(Args));
}