Browse Source

Merge pull request #2665 from martin-frbg/flang-fixes-2a

Fix spelling of flang option -Mrecursive, add -Kieee and workaround for AOCC optimizer bug
tags/v0.3.10^2
Martin Kroeker GitHub 5 years ago
parent
commit
efc53b6e7e
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 13 additions and 16 deletions
  1. +9
    -11
      Makefile.system
  2. +1
    -1
      cmake/fc.cmake
  3. +3
    -4
      cmake/system.cmake

+ 9
- 11
Makefile.system View File

@@ -783,7 +783,15 @@ endif

ifeq ($(F_COMPILER), FLANG)
CCOMMON_OPT += -DF_INTERFACE_FLANG
FCOMMON_OPT += -frecursive
FCOMMON_OPT += -Mrecursive -Kieee
ifeq ($(OSNAME), Linux)
ifeq ($(ARCH), x86_64)
FLANG_VENDOR := $(shell expr `$(FC) --version|cut -f 1 -d "."|head -1`)
ifeq ($(FLANG_VENDOR),AOCC)
FCOMMON_OPT += -fno-unroll-loops
endif
endif
endif
ifdef BINARY64
ifdef INTERFACE64
ifneq ($(INTERFACE64), 0)
@@ -797,11 +805,6 @@ endif
ifeq ($(USE_OPENMP), 1)
FCOMMON_OPT += -fopenmp
endif
#ifeq ($(OSNAME), Linux)
#ifeq ($(ARCH), x86_64)
#FLANG_VENDOR := $(shell expr `$(FC) --version|cut -f 1 -d "."|head -1`)
#endif
#endif
endif

ifeq ($(F_COMPILER), G77)
@@ -1276,12 +1279,7 @@ endif

override CFLAGS += $(COMMON_OPT) $(CCOMMON_OPT) -I$(TOPDIR)
override PFLAGS += $(COMMON_OPT) $(CCOMMON_OPT) -I$(TOPDIR) -DPROFILE $(COMMON_PROF)
#ifeq ($(FLANG_VENDOR),AOCC)
ifeq ($(F_COMPILER),FLANG)
override FFLAGS += $(filter-out -O2 -O3,$(COMMON_OPT)) -O1 $(FCOMMON_OPT)
else
override FFLAGS += $(COMMON_OPT) $(FCOMMON_OPT)
endif
override FPFLAGS += $(FCOMMON_OPT) $(COMMON_PROF)
#MAKEOVERRIDES =



+ 1
- 1
cmake/fc.cmake View File

@@ -16,7 +16,7 @@ if (${F_COMPILER} STREQUAL "FLANG")
if (USE_OPENMP)
set(FCOMMON_OPT "${FCOMMON_OPT} -fopenmp")
endif ()
set(FCOMMON_OPT "${FCOMMON_OPT} -frecursive")
set(FCOMMON_OPT "${FCOMMON_OPT} -Mrecursive -Kieee")
endif ()

if (${F_COMPILER} STREQUAL "G77")


+ 3
- 4
cmake/system.cmake View File

@@ -419,10 +419,9 @@ endif ()

if ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
if ("${F_COMPILER}" STREQUAL "FLANG")
set(FILTER_FLAGS "-O2;-O3")
foreach (FILTER_FLAG ${FILTER_FLAGS})
string(REPLACE ${FILTER_FLAG} "-O1" CMAKE_Fortran_FLAGS_RELEASE ${CMAKE_Fortran_FLAGS_RELEASE})
endforeach ()
if (${CMAKE_Fortran_COMPILER_VERSION} VERSION_LESS_EQUAL 3)
set(CMAKE_Fortran_FLAGS_RELEASE "${CMAKE_Fortran_FLAGS_RELEASE} -fno-unroll-loops")
endif ()
endif ()
endif ()



Loading…
Cancel
Save