diff options
author | Sam McCall <sam.mccall@gmail.com> | 2020-05-18 23:01:46 +0200 |
---|---|---|
committer | Sam McCall <sam.mccall@gmail.com> | 2020-05-19 11:20:02 +0200 |
commit | 48aa781ae44a611967084ca031fdbb3a0712c40c (patch) | |
tree | 369e8ca313c1712278f8a50e7b06f838fdc2482a /clang/lib/Tooling/CompilationDatabase.cpp | |
parent | 1d579f54d720dcc53e11386fdec59e07614599a5 (diff) | |
download | llvm-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.cpp | 10 |
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)); } |