diff --git a/CMakeLists.txt b/CMakeLists.txt index 500b67100..2ace973a1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -380,7 +380,11 @@ endif() ################################################################################ # FIXME: Support ARM "-mfpu=vfp -mfloat-abi=hard" if (("${TARGET_ARCHITECTURE}" STREQUAL "x86_64") OR ("${TARGET_ARCHITECTURE}" STREQUAL "i686")) - if (("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU") OR ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")) + if (("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU") OR ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") OR ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Intel")) + if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Intel") + # Intel's compiler requires linking with libiomp5 + list(APPEND Z3_DEPENDENT_LIBS "iomp5") + endif() set(SSE_FLAGS "-mfpmath=sse" "-msse" "-msse2") # FIXME: Remove "x.." when CMP0054 is set to NEW elseif ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Intel") diff --git a/src/util/memory_manager.h b/src/util/memory_manager.h index fec7c12b4..94b969531 100644 --- a/src/util/memory_manager.h +++ b/src/util/memory_manager.h @@ -27,10 +27,9 @@ Revision History: # define __has_builtin(x) 0 #endif -#ifdef __INTEL_COMPILER -# define ALLOC_ATTR __attribute__((malloc)) -#elif __GNUC__ -# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 || __has_builtin(returns_nonnull) + +#ifdef __GNUC__ +# if ((__GNUC__ * 100 + __GNUC_MINOR__) >= 409 || __has_builtin(returns_nonnull)) && !defined(__INTEL_COMPILER) # define GCC_RET_NON_NULL __attribute__((returns_nonnull)) # else # define GCC_RET_NON_NULL