}
bool changed_from_slash = false;
- if (ctx.config.compiler_type() == CompilerType::cl
+ if (ctx.config.compiler_type() == CompilerType::msvc
&& util::starts_with(args[i], "/")) {
// MSVC understands both /option and -option, so convert all /option to
// -option to simplify our handling.
return Statistic::called_for_preprocessing;
}
// MSVC -P is -E with output to a file.
- if (args[i] == "-P" && ctx.config.compiler_type() == CompilerType::cl) {
+ if (args[i] == "-P" && ctx.config.compiler_type() == CompilerType::msvc) {
return Statistic::called_for_preprocessing;
}
++argpath;
}
auto file_args =
- Args::from_atfile(argpath, config.compiler_type() == CompilerType::cl);
+ Args::from_atfile(argpath, config.compiler_type() == CompilerType::msvc);
if (!file_args) {
LOG("Couldn't read arg file {}", argpath);
return Statistic::bad_compiler_arguments;
// MSVC -Fo with no space.
if (util::starts_with(args[i], "-Fo")
- && config.compiler_type() == CompilerType::cl) {
+ && config.compiler_type() == CompilerType::msvc) {
args_info.output_obj =
Util::make_relative_path(ctx, string_view(args[i]).substr(3));
return nullopt;
// These options require special handling, because they behave differently
// with gcc -E, when the output file is not specified.
if ((args[i] == "-MD" || args[i] == "-MMD")
- && config.compiler_type() != CompilerType::cl) {
+ && config.compiler_type() != CompilerType::msvc) {
args_info.generating_dependencies = true;
args_info.seen_MD_MMD = true;
state.dep_args.push_back(args[i]);
}
if ((util::starts_with(args[i], "-MQ") || util::starts_with(args[i], "-MT"))
- && config.compiler_type() != CompilerType::cl) {
+ && config.compiler_type() != CompilerType::msvc) {
args_info.dependency_target_specified = true;
if (args[i].size() == 3) {
// MSVC -MD[d], -MT[d] and -LT[d] options are something different than GCC's
// -MD etc.
- if (config.compiler_type() == CompilerType::cl
+ if (config.compiler_type() == CompilerType::msvc
&& (util::starts_with(args[i], "-MD") || util::starts_with(args[i], "-MT")
|| util::starts_with(args[i], "-LD"))) {
// These affect compiler but also #define some things.
}
// MSVC -u is something else than GCC -u, handle it specially.
- if (args[i] == "-u" && ctx.config.compiler_type() == CompilerType::cl) {
+ if (args[i] == "-u" && ctx.config.compiler_type() == CompilerType::msvc) {
state.cpp_args.push_back(args[i]);
return nullopt;
}
string_view extension;
if (state.found_S_opt) {
extension = ".s";
- } else if (ctx.config.compiler_type() != CompilerType::cl) {
+ } else if (ctx.config.compiler_type() != CompilerType::msvc) {
extension = ".o";
} else {
extension = ".obj";
if (!state.input_charset_option.empty()) {
state.cpp_args.push_back(state.input_charset_option);
}
- if (state.found_pch && ctx.config.compiler_type() != CompilerType::cl) {
+ if (state.found_pch && ctx.config.compiler_type() != CompilerType::msvc) {
state.cpp_args.push_back("-fpch-preprocess");
}
if (!state.explicit_language.empty()) {
} else if (name.find("nvcc") != nonstd::string_view::npos) {
return CompilerType::nvcc;
} else if (name.find("cl") != nonstd::string_view::npos) {
- return CompilerType::cl;
+ return CompilerType::msvc;
} else {
return CompilerType::other;
}
const Args& depend_extra_args,
Hash* depend_mode_hash)
{
- if (ctx.config.compiler_type() == CompilerType::cl) {
+ if (ctx.config.compiler_type() == CompilerType::msvc) {
args.push_back(fmt::format("-Fo{}", ctx.args_info.output_obj));
} else {
args.push_back("-o");
TRY(set_up_uncached_err());
if (!ctx.config.run_second_cpp()
- && ctx.config.compiler_type() == CompilerType::cl) {
+ && ctx.config.compiler_type() == CompilerType::msvc) {
LOG_RAW("Second preprocessor cannot be disabled");
ctx.config.set_run_second_cpp(true);
}