Skip to content

Commit 52b71a1

Browse files
authored
Filter out FFLAGS that flang-new from LLVM18 no longer supports (#4569)
* Filter out FFLAGS that flang-new from LLVM18 no longer supports
1 parent 3d2a9e4 commit 52b71a1

File tree

3 files changed

+16
-2
lines changed

3 files changed

+16
-2
lines changed

Makefile.system

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1670,6 +1670,10 @@ ifeq ($(F_COMPILER),CRAY)
16701670
LAPACK_FFLAGS := $(filter-out -msse3 -mssse3 -msse4.1 -mavx -mavx2 -mskylake-avx512 ,$(FFLAGS))
16711671
override FFLAGS := $(filter-out -msse3 -mssse3 -msse4.1 -mavx -mavx2 -mskylake-avx512 ,$(FFLAGS))
16721672
endif
1673+
ifeq ($(F_COMPILER),FLANGNEW)
1674+
LAPACK_FFLAGS := $(filter-out -m32 -m64 -msse3 -mssse3 -msse4.1 -mavx -mavx2 -mskylake-avx512 ,$(FFLAGS))
1675+
override FFLAGS := $(filter-out -m32 -m64 -msse3 -mssse3 -msse4.1 -mavx -mavx2 -mskylake-avx512 ,$(FFLAGS))
1676+
endif
16731677

16741678
LAPACK_CFLAGS = $(CFLAGS)
16751679
LAPACK_CFLAGS += -DHAVE_LAPACK_CONFIG_H

cmake/fc.cmake

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,9 @@ if (${F_COMPILER} STREQUAL "GFORTRAN" OR ${F_COMPILER} STREQUAL "F95" OR CMAKE_F
8888
endif ()
8989
else ()
9090
if (BINARY64)
91+
if (NOT CMAKE_Fortran_COMPILER_ID MATCHES "LLVMFlang.*")
9192
set(FCOMMON_OPT "${FCOMMON_OPT} -m64")
93+
endif ()
9294
if (INTERFACE64)
9395
if (CMAKE_Fortran_COMPILER_ID STREQUAL "Intel")
9496
if (WIN32)
@@ -101,7 +103,9 @@ if (${F_COMPILER} STREQUAL "GFORTRAN" OR ${F_COMPILER} STREQUAL "F95" OR CMAKE_F
101103
endif ()
102104
endif ()
103105
else ()
104-
set(FCOMMON_OPT "${FCOMMON_OPT} -m32")
106+
if (NOT CMAKE_Fortran_COMPILER_ID MATCHES "LLVMFlang.*")
107+
set(FCOMMON_OPT "${FCOMMON_OPT} -m32")
108+
endif ()
105109
endif ()
106110
endif ()
107111

cmake/system.cmake

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -616,13 +616,19 @@ if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
616616
endforeach ()
617617
endif ()
618618

619-
if ("${F_COMPILER}" STREQUAL "NAG" OR "${F_COMPILER}" STREQUAL "CRAY")
619+
if (CMAKE_Fortran_COMPILER)
620+
if (${F_COMPILER} STREQUAL "NAG" OR ${F_COMPILER} STREQUAL "CRAY" OR CMAKE_Fortran_COMPILER_ID MATCHES "LLVMFlang.*")
620621
set(FILTER_FLAGS "-msse3;-mssse3;-msse4.1;-mavx;-mavx2,-mskylake-avx512")
622+
if (CMAKE_Fortran_COMPILER_ID MATCHES "LLVMFlang.*")
623+
message(STATUS "removing fortran flags")
624+
set(FILTER_FLAGS "${FILTER_FLAGS};-m32;-m64")
625+
endif ()
621626
foreach (FILTER_FLAG ${FILTER_FLAGS})
622627
string(REPLACE ${FILTER_FLAG} "" LAPACK_FFLAGS ${LAPACK_FFLAGS})
623628
string(REPLACE ${FILTER_FLAG} "" LAPACK_FPFLAGS ${LAPACK_FPFLAGS})
624629
endforeach ()
625630
endif ()
631+
endif ()
626632

627633
if ("${F_COMPILER}" STREQUAL "GFORTRAN")
628634
# lapack-netlib is rife with uninitialized warnings -hpa

0 commit comments

Comments
 (0)