diff options
Diffstat (limited to 'clang/lib/Tooling/ArgumentsAdjusters.cpp')
-rw-r--r-- | clang/lib/Tooling/ArgumentsAdjusters.cpp | 21 |
1 files changed, 3 insertions, 18 deletions
diff --git a/clang/lib/Tooling/ArgumentsAdjusters.cpp b/clang/lib/Tooling/ArgumentsAdjusters.cpp index bcfb5b39a077..7f5dc4d62f11 100644 --- a/clang/lib/Tooling/ArgumentsAdjusters.cpp +++ b/clang/lib/Tooling/ArgumentsAdjusters.cpp @@ -62,7 +62,8 @@ ArgumentsAdjuster getClangSyntaxOnlyAdjuster() { HasSyntaxOnly = true; } if (!HasSyntaxOnly) - AdjustedArgs.push_back("-fsyntax-only"); + AdjustedArgs = + getInsertArgumentAdjuster("-fsyntax-only")(AdjustedArgs, ""); return AdjustedArgs; }; } @@ -85,22 +86,6 @@ ArgumentsAdjuster getClangStripOutputAdjuster() { }; } -ArgumentsAdjuster getClangStripSerializeDiagnosticAdjuster() { - return [](const CommandLineArguments &Args, StringRef /*unused*/) { - CommandLineArguments AdjustedArgs; - for (size_t i = 0, e = Args.size(); i < e; ++i) { - StringRef Arg = Args[i]; - if (Arg == "--serialize-diagnostics") { - // Skip the diagnostic output argument. - ++i; - continue; - } - AdjustedArgs.push_back(Args[i]); - } - return AdjustedArgs; - }; -} - ArgumentsAdjuster getClangStripDependencyFileAdjuster() { return [](const CommandLineArguments &Args, StringRef /*unused*/) { auto UsingClDriver = (getDriverMode(Args) == "cl"); @@ -137,7 +122,7 @@ ArgumentsAdjuster getInsertArgumentAdjuster(const CommandLineArguments &Extra, CommandLineArguments::iterator I; if (Pos == ArgumentInsertPosition::END) { - I = Return.end(); + I = std::find(Return.begin(), Return.end(), "--"); } else { I = Return.begin(); ++I; // To leave the program name in place |