diff --git a/llvm/lib/Support/CommandLine.cpp b/llvm/lib/Support/CommandLine.cpp index 9890ee2414fd..39bff48fd737 100644 --- a/llvm/lib/Support/CommandLine.cpp +++ b/llvm/lib/Support/CommandLine.cpp @@ -375,7 +375,7 @@ void cl::ParseCommandLineOptions(int &argc, char **argv, // positional option and keep the rest for the consume after. The above // loop would have assigned no values to positional options in this case. // - if (PositionalOpts.size() == 2 && ValNo == 0) + if (PositionalOpts.size() == 2 && ValNo == 0 && !PositionalVals.empty()) ErrorParsing |= ProvidePositionalOption(PositionalOpts[1], PositionalVals[ValNo++]); diff --git a/llvm/support/lib/Support/CommandLine.cpp b/llvm/support/lib/Support/CommandLine.cpp index 9890ee2414fd..39bff48fd737 100644 --- a/llvm/support/lib/Support/CommandLine.cpp +++ b/llvm/support/lib/Support/CommandLine.cpp @@ -375,7 +375,7 @@ void cl::ParseCommandLineOptions(int &argc, char **argv, // positional option and keep the rest for the consume after. The above // loop would have assigned no values to positional options in this case. // - if (PositionalOpts.size() == 2 && ValNo == 0) + if (PositionalOpts.size() == 2 && ValNo == 0 && !PositionalVals.empty()) ErrorParsing |= ProvidePositionalOption(PositionalOpts[1], PositionalVals[ValNo++]);