use __INTEL_LLVM_COMPILER macro to detect new intel compilers as intel, not clang

This commit is contained in:
Axel Kohlmeyer
2021-03-15 00:25:29 -04:00
parent 47b305b558
commit 097eebaa36
3 changed files with 10 additions and 4 deletions

View File

@ -1316,7 +1316,11 @@ std::string Info::get_os_info()
std::string Info::get_compiler_info() std::string Info::get_compiler_info()
{ {
std::string buf; std::string buf;
#if __clang__ #if __INTEL_LLVM_COMPILER
double version = static_cast<double>(__INTEL_COMPILER)*0.01;
buf = fmt::format("Intel LLVM C++ {:.2f}.{} / {}", version,
__INTEL_COMPILER_UPDATE, __VERSION__);
#elif __clang__
buf = fmt::format("Clang C++ {}", __VERSION__); buf = fmt::format("Clang C++ {}", __VERSION__);
#elif __PGI #elif __PGI
buf = fmt::format("PGI C++ {}.{}",__PGIC__,__PGIC_MINOR__); buf = fmt::format("PGI C++ {}.{}",__PGIC__,__PGIC_MINOR__);

View File

@ -242,7 +242,7 @@ The typecasts prevent compiler warnings about possible truncation issues.
// define stack variable alignment // define stack variable alignment
#if defined(__INTEL_COMPILER) #if defined(__INTEL_LLVM_COMPILER) || defined(__INTEL_COMPILER)
#define _alignvar(expr,val) __declspec(align(val)) expr #define _alignvar(expr,val) __declspec(align(val)) expr
#elif defined(__GNUC__) #elif defined(__GNUC__)
#define _alignvar(expr,val) expr __attribute((aligned(val))) #define _alignvar(expr,val) expr __attribute((aligned(val)))
@ -252,7 +252,7 @@ The typecasts prevent compiler warnings about possible truncation issues.
// declaration to lift aliasing restrictions // declaration to lift aliasing restrictions
#if defined(__INTEL_COMPILER) #if defined(__INTEL_LLVM_COMPILER) || defined(__INTEL_COMPILER)
#define _noalias restrict #define _noalias restrict
#elif defined(__GNUC__) #elif defined(__GNUC__)
#define _noalias __restrict #define _noalias __restrict

View File

@ -29,7 +29,9 @@
// autodetect OpenMP compatibility if not explicitly set // autodetect OpenMP compatibility if not explicitly set
#ifndef LAMMPS_OMP_COMPAT #ifndef LAMMPS_OMP_COMPAT
# if defined(__INTEL_COMPILER) # if defined(__INTEL_LLVM_COMPILER)
# define LAMMPS_OMP_COMPAT 4
# elif defined(__INTEL_COMPILER)
# if __INTEL_COMPILER > 18 # if __INTEL_COMPILER > 18
# define LAMMPS_OMP_COMPAT 4 # define LAMMPS_OMP_COMPAT 4
# endif # endif