summaryrefslogtreecommitdiff
path: root/lib/Tooling/ArgumentsAdjusters.cpp
diff options
context:
space:
mode:
authorKadir Cetinkaya <kadircet@google.com>2019-07-02 10:45:53 +0000
committerKadir Cetinkaya <kadircet@google.com>2019-07-02 10:45:53 +0000
commitb7d562343d013fef57d45c8399e33af675f50260 (patch)
treede8bf6603816e4107caed0e2b5788b67c6108436 /lib/Tooling/ArgumentsAdjusters.cpp
parentcacf539857d79a6506a3b7f6ffbdaf7194e9c21e (diff)
downloadclang-b7d562343d013fef57d45c8399e33af675f50260.tar.gz
[clang][ArgumentAdjusters] Do not add fsyntax-only if already exists
Reviewers: hokein Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D64063 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@364904 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Tooling/ArgumentsAdjusters.cpp')
-rw-r--r--lib/Tooling/ArgumentsAdjusters.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/Tooling/ArgumentsAdjusters.cpp b/lib/Tooling/ArgumentsAdjusters.cpp
index 002c587d6b..942b35df45 100644
--- a/lib/Tooling/ArgumentsAdjusters.cpp
+++ b/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;
};
}