aboutsummaryrefslogtreecommitdiff
path: root/contrib/llvm-project/clang/lib/Tooling/ArgumentsAdjusters.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/llvm-project/clang/lib/Tooling/ArgumentsAdjusters.cpp')
-rw-r--r--contrib/llvm-project/clang/lib/Tooling/ArgumentsAdjusters.cpp35
1 files changed, 10 insertions, 25 deletions
diff --git a/contrib/llvm-project/clang/lib/Tooling/ArgumentsAdjusters.cpp b/contrib/llvm-project/clang/lib/Tooling/ArgumentsAdjusters.cpp
index bcfb5b39a077..df4c74205b08 100644
--- a/contrib/llvm-project/clang/lib/Tooling/ArgumentsAdjusters.cpp
+++ b/contrib/llvm-project/clang/lib/Tooling/ArgumentsAdjusters.cpp
@@ -45,12 +45,12 @@ ArgumentsAdjuster getClangSyntaxOnlyAdjuster() {
StringRef Arg = Args[i];
// Skip output commands.
if (llvm::any_of(OutputCommands, [&Arg](llvm::StringRef OutputCommand) {
- return Arg.startswith(OutputCommand);
+ return Arg.starts_with(OutputCommand);
}))
continue;
- if (!Arg.startswith("-fcolor-diagnostics") &&
- !Arg.startswith("-fdiagnostics-color"))
+ if (!Arg.starts_with("-fcolor-diagnostics") &&
+ !Arg.starts_with("-fdiagnostics-color"))
AdjustedArgs.push_back(Args[i]);
// If we strip a color option, make sure we strip any preceeding `-Xclang`
// option as well.
@@ -62,7 +62,8 @@ ArgumentsAdjuster getClangSyntaxOnlyAdjuster() {
HasSyntaxOnly = true;
}
if (!HasSyntaxOnly)
- AdjustedArgs.push_back("-fsyntax-only");
+ AdjustedArgs =
+ getInsertArgumentAdjuster("-fsyntax-only")(AdjustedArgs, "");
return AdjustedArgs;
};
}
@@ -72,7 +73,7 @@ ArgumentsAdjuster getClangStripOutputAdjuster() {
CommandLineArguments AdjustedArgs;
for (size_t i = 0, e = Args.size(); i < e; ++i) {
StringRef Arg = Args[i];
- if (!Arg.startswith("-o"))
+ if (!Arg.starts_with("-o"))
AdjustedArgs.push_back(Args[i]);
if (Arg == "-o") {
@@ -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");
@@ -117,11 +102,11 @@ ArgumentsAdjuster getClangStripDependencyFileAdjuster() {
// When not using the cl driver mode, dependency file generation options
// begin with -M. These include -MM, -MF, -MG, -MP, -MT, -MQ, -MD, and
// -MMD.
- if (!UsingClDriver && Arg.startswith("-M"))
+ if (!UsingClDriver && Arg.starts_with("-M"))
continue;
// Under MSVC's cl driver mode, dependency file generation is controlled
// using /showIncludes
- if (Arg.startswith("/showIncludes") || Arg.startswith("-showIncludes"))
+ if (Arg.starts_with("/showIncludes") || Arg.starts_with("-showIncludes"))
continue;
AdjustedArgs.push_back(Args[i]);
@@ -137,7 +122,7 @@ ArgumentsAdjuster getInsertArgumentAdjuster(const CommandLineArguments &Extra,
CommandLineArguments::iterator I;
if (Pos == ArgumentInsertPosition::END) {
- I = Return.end();
+ I = llvm::find(Return, "--");
} else {
I = Return.begin();
++I; // To leave the program name in place
@@ -174,7 +159,7 @@ ArgumentsAdjuster getStripPluginsAdjuster() {
// -Xclang <arbitrary-argument>
if (I + 4 < E && Args[I] == "-Xclang" &&
(Args[I + 1] == "-load" || Args[I + 1] == "-plugin" ||
- llvm::StringRef(Args[I + 1]).startswith("-plugin-arg-") ||
+ llvm::StringRef(Args[I + 1]).starts_with("-plugin-arg-") ||
Args[I + 1] == "-add-plugin") &&
Args[I + 2] == "-Xclang") {
I += 3;