diff options
author | Kadir Cetinkaya <kadircet@google.com> | 2019-07-02 10:45:53 +0000 |
---|---|---|
committer | Kadir Cetinkaya <kadircet@google.com> | 2019-07-02 10:45:53 +0000 |
commit | 7d719b75eaf58162d44f11497a0d4765cd19ab55 (patch) | |
tree | 4a54c0dddc527985371288960fc87241b453007e /clang/lib/Tooling/ArgumentsAdjusters.cpp | |
parent | 2915b3988f4445244c3c09414500232b3ccaa416 (diff) | |
download | bcm5719-llvm-7d719b75eaf58162d44f11497a0d4765cd19ab55.tar.gz bcm5719-llvm-7d719b75eaf58162d44f11497a0d4765cd19ab55.zip |
[clang][ArgumentAdjusters] Do not add fsyntax-only if already exists
Reviewers: hokein
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D64063
llvm-svn: 364904
Diffstat (limited to 'clang/lib/Tooling/ArgumentsAdjusters.cpp')
-rw-r--r-- | clang/lib/Tooling/ArgumentsAdjusters.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/clang/lib/Tooling/ArgumentsAdjusters.cpp b/clang/lib/Tooling/ArgumentsAdjusters.cpp index 002c587d6bb..942b35df453 100644 --- a/clang/lib/Tooling/ArgumentsAdjusters.cpp +++ b/clang/lib/Tooling/ArgumentsAdjusters.cpp @@ -23,14 +23,18 @@ namespace tooling { ArgumentsAdjuster getClangSyntaxOnlyAdjuster() { return [](const CommandLineArguments &Args, StringRef /*unused*/) { CommandLineArguments AdjustedArgs; + bool HasSyntaxOnly = false; for (size_t i = 0, e = Args.size(); i < e; ++i) { StringRef Arg = Args[i]; // FIXME: Remove options that generate output. if (!Arg.startswith("-fcolor-diagnostics") && !Arg.startswith("-fdiagnostics-color")) AdjustedArgs.push_back(Args[i]); + if (Arg == "-fsyntax-only") + HasSyntaxOnly = true; } - AdjustedArgs.push_back("-fsyntax-only"); + if (!HasSyntaxOnly) + AdjustedArgs.push_back("-fsyntax-only"); return AdjustedArgs; }; } |