diff --git a/Makefile.system b/Makefile.system index 2ea407349a..f89cc8bdfa 100644 --- a/Makefile.system +++ b/Makefile.system @@ -1670,6 +1670,10 @@ ifeq ($(F_COMPILER),CRAY) LAPACK_FFLAGS := $(filter-out -msse3 -mssse3 -msse4.1 -mavx -mavx2 -mskylake-avx512 ,$(FFLAGS)) override FFLAGS := $(filter-out -msse3 -mssse3 -msse4.1 -mavx -mavx2 -mskylake-avx512 ,$(FFLAGS)) endif +ifeq ($(F_COMPILER),FLANGNEW) +LAPACK_FFLAGS := $(filter-out -m32 -m64 -msse3 -mssse3 -msse4.1 -mavx -mavx2 -mskylake-avx512 ,$(FFLAGS)) +override FFLAGS := $(filter-out -m32 -m64 -msse3 -mssse3 -msse4.1 -mavx -mavx2 -mskylake-avx512 ,$(FFLAGS)) +endif LAPACK_CFLAGS = $(CFLAGS) LAPACK_CFLAGS += -DHAVE_LAPACK_CONFIG_H diff --git a/cmake/fc.cmake b/cmake/fc.cmake index bc85a2921f..4d3da1a29b 100644 --- a/cmake/fc.cmake +++ b/cmake/fc.cmake @@ -88,7 +88,9 @@ if (${F_COMPILER} STREQUAL "GFORTRAN" OR ${F_COMPILER} STREQUAL "F95" OR CMAKE_F endif () else () if (BINARY64) + if (NOT CMAKE_Fortran_COMPILER_ID MATCHES "LLVMFlang.*") set(FCOMMON_OPT "${FCOMMON_OPT} -m64") + endif () if (INTERFACE64) if (CMAKE_Fortran_COMPILER_ID STREQUAL "Intel") if (WIN32) @@ -101,7 +103,9 @@ if (${F_COMPILER} STREQUAL "GFORTRAN" OR ${F_COMPILER} STREQUAL "F95" OR CMAKE_F endif () endif () else () - set(FCOMMON_OPT "${FCOMMON_OPT} -m32") + if (NOT CMAKE_Fortran_COMPILER_ID MATCHES "LLVMFlang.*") + set(FCOMMON_OPT "${FCOMMON_OPT} -m32") + endif () endif () endif () diff --git a/cmake/system.cmake b/cmake/system.cmake index 95f34e9f82..c26b415c6d 100644 --- a/cmake/system.cmake +++ b/cmake/system.cmake @@ -616,13 +616,19 @@ if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") endforeach () endif () -if ("${F_COMPILER}" STREQUAL "NAG" OR "${F_COMPILER}" STREQUAL "CRAY") +if (CMAKE_Fortran_COMPILER) +if (${F_COMPILER} STREQUAL "NAG" OR ${F_COMPILER} STREQUAL "CRAY" OR CMAKE_Fortran_COMPILER_ID MATCHES "LLVMFlang.*") set(FILTER_FLAGS "-msse3;-mssse3;-msse4.1;-mavx;-mavx2,-mskylake-avx512") + if (CMAKE_Fortran_COMPILER_ID MATCHES "LLVMFlang.*") +message(STATUS "removing fortran flags") + set(FILTER_FLAGS "${FILTER_FLAGS};-m32;-m64") + endif () foreach (FILTER_FLAG ${FILTER_FLAGS}) string(REPLACE ${FILTER_FLAG} "" LAPACK_FFLAGS ${LAPACK_FFLAGS}) string(REPLACE ${FILTER_FLAG} "" LAPACK_FPFLAGS ${LAPACK_FPFLAGS}) endforeach () endif () +endif () if ("${F_COMPILER}" STREQUAL "GFORTRAN") # lapack-netlib is rife with uninitialized warnings -hpa