summaryrefslogtreecommitdiffstats
path: root/clang/lib/Tooling/ArgumentsAdjusters.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang/lib/Tooling/ArgumentsAdjusters.cpp')
-rw-r--r--clang/lib/Tooling/ArgumentsAdjusters.cpp6
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;
};
}
OpenPOWER on IntegriCloud