|
@@ -150,7 +150,8 @@ struct TransferableCommand {
|
|
// spelling of each argument; re-rendering is lossy for aliased flags.
|
|
// spelling of each argument; re-rendering is lossy for aliased flags.
|
|
// E.g. in CL mode, /W4 maps to -Wall.
|
|
// E.g. in CL mode, /W4 maps to -Wall.
|
|
auto OptTable = clang::driver::createDriverOptTable();
|
|
auto OptTable = clang::driver::createDriverOptTable();
|
|
- Cmd.CommandLine.emplace_back(OldArgs.front());
|
|
|
|
|
|
+ if (!OldArgs.empty())
|
|
|
|
+ Cmd.CommandLine.emplace_back(OldArgs.front());
|
|
for (unsigned Pos = 1; Pos < OldArgs.size();) {
|
|
for (unsigned Pos = 1; Pos < OldArgs.size();) {
|
|
using namespace driver::options;
|
|
using namespace driver::options;
|
|
|
|
|
|
@@ -243,7 +244,8 @@ private:
|
|
}
|
|
}
|
|
|
|
|
|
// Otherwise just check the clang executable file name.
|
|
// Otherwise just check the clang executable file name.
|
|
- return llvm::sys::path::stem(CmdLine.front()).endswith_lower("cl");
|
|
|
|
|
|
+ return !CmdLine.empty() &&
|
|
|
|
+ llvm::sys::path::stem(CmdLine.front()).endswith_lower("cl");
|
|
}
|
|
}
|
|
|
|
|
|
// Map the language from the --std flag to that of the -x flag.
|
|
// Map the language from the --std flag to that of the -x flag.
|