From f3929ac7eda912cc75b0aea49220eb21a2460436 Mon Sep 17 00:00:00 2001 From: Charles Schlosser Date: Tue, 3 Jan 2023 17:30:10 +0000 Subject: [PATCH] Fix EIGEN_HAS_CXX17_OVERALIGN for icc --- Eigen/src/Core/util/Macros.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Eigen/src/Core/util/Macros.h b/Eigen/src/Core/util/Macros.h index 4b8b277f2..955e86602 100644 --- a/Eigen/src/Core/util/Macros.h +++ b/Eigen/src/Core/util/Macros.h @@ -713,13 +713,16 @@ // and it could be that XCode 9 works just fine. // NOTE: the MSVC version is based on https://en.cppreference.com/w/cpp/compiler_support // and not tested. +// NOTE: Intel C++ Compiler Classic (icc) Version 19.0 and later supports dynamic allocation +// for over-aligned data, but not in a manner that is compatible with Eigen. +// See https://gitlab.com/libeigen/eigen/-/issues/2575 #ifndef EIGEN_HAS_CXX17_OVERALIGN #if EIGEN_MAX_CPP_VER>=17 && EIGEN_COMP_CXXVER>=17 && ( \ (EIGEN_COMP_MSVC >= 1912) \ || (EIGEN_GNUC_AT_LEAST(7,0)) \ || ((!defined(__apple_build_version__)) && (EIGEN_COMP_CLANG>=500)) \ || (( defined(__apple_build_version__)) && (__apple_build_version__>=10000000)) \ - ) + ) && (!defined(EIGEN_COMP_ICC)) #define EIGEN_HAS_CXX17_OVERALIGN 1 #else #define EIGEN_HAS_CXX17_OVERALIGN 0