return CompilerType::clang_cl;
} else if (value == "gcc") {
return CompilerType::gcc;
+ } else if (value == "icl") {
+ return CompilerType::icl;
} else if (value == "msvc") {
return CompilerType::msvc;
} else if (value == "nvcc") {
CASE(clang);
CASE(gcc);
+ CASE(icl);
CASE(msvc);
CASE(nvcc);
CASE(other);
#include <string>
#include <unordered_map>
-enum class CompilerType { auto_guess, clang, clang_cl, gcc, msvc, nvcc, other };
+enum class CompilerType {
+ auto_guess,
+ clang,
+ clang_cl,
+ gcc,
+ icl,
+ msvc,
+ nvcc,
+ other
+};
std::string compiler_type_to_string(CompilerType compiler_type);
// Return true for Clang and clang-cl.
bool is_compiler_group_clang() const;
- // Return true for MSVC (cl.exe) and clang-cl.
+ // Return true for MSVC (cl.exe), clang-cl, and icl.
bool is_compiler_group_msvc() const;
std::string default_temporary_dir() const;
Config::is_compiler_group_msvc() const
{
return m_compiler_type == CompilerType::msvc
- || m_compiler_type == CompilerType::clang_cl;
+ || m_compiler_type == CompilerType::clang_cl
+ || m_compiler_type == CompilerType::icl;
}
inline bool
return CompilerType::gcc;
} else if (name.find("nvcc") != std::string_view::npos) {
return CompilerType::nvcc;
+ } else if (name == "icl") {
+ return CompilerType::icl;
} else if (name == "cl") {
return CompilerType::msvc;
} else {