diff --git a/CHANGELOG.md b/CHANGELOG.md index 1094e24..4f4e136 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +## [3.36.0] - 2023-10-26 + +### Fixed + +- Fixes for building with Intel Fortran Classic on macOS on Arm under Clang 15 and Rosetta + - Uses `ld_classic` as the linker + +### Added + +- Add setting `-Wno-implicit-int` when running with `icx` + ## [3.35.0] - 2023-10-13 ### Added diff --git a/compiler/esma_compiler.cmake b/compiler/esma_compiler.cmake index fae4f88..94ece81 100644 --- a/compiler/esma_compiler.cmake +++ b/compiler/esma_compiler.cmake @@ -11,3 +11,8 @@ include(check_fortran_support) ## Files with flags for Fortran compilers list (APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/flags") include ("${CMAKE_Fortran_COMPILER_ID}_Fortran") + +## We need to append some extra flags if using icx (aka CMAKE_C_COMPILER_ID=IntelLLVM) +if (CMAKE_C_COMPILER_ID STREQUAL "IntelLLVM") + set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-implicit-int") +endif () diff --git a/compiler/flags/Intel_Fortran.cmake b/compiler/flags/Intel_Fortran.cmake index 1bc13f3..3214e1d 100644 --- a/compiler/flags/Intel_Fortran.cmake +++ b/compiler/flags/Intel_Fortran.cmake @@ -78,6 +78,11 @@ elseif (${proc_description} MATCHES "Intel") elseif ( ${CMAKE_HOST_SYSTEM_PROCESSOR} STREQUAL "x86_64" ) message(WARNING "Unknown processory type. Defaulting to a generic x86_64 processor. Performance may be suboptimal.") set (COREAVX2_FLAG "") + # Once you are in here, you are probably on Rosetta, but not required. + # Still, on Apple Rosetta we also now need to use the ld_classic as the linker + if (APPLE) + add_link_options("-Wl,-ld_classic") + endif () else () message(FATAL_ERROR "Unknown processor. Please file an issue at https://github.com/GEOS-ESM/ESMA_cmake") endif ()