Browse Source

Merge pull request #4974 from cenewcombe/develop

Corrections for Cray and Nvidia Fortran compiler calling conventions
tags/v0.3.29
Martin Kroeker GitHub 10 months ago
parent
commit
3e7e312d7d
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
3 changed files with 10 additions and 4 deletions
  1. +5
    -3
      Makefile.system
  2. +1
    -1
      common_arm64.h
  3. +4
    -0
      common_x86_64.h

+ 5
- 3
Makefile.system View File

@@ -1392,15 +1392,17 @@ endif
endif

ifeq ($(F_COMPILER), CRAY)
CCOMMON_OPT += -DF_INTERFACE_INTEL
CCOMMON_OPT += -DF_INTERFACE_CRAYFC
FCOMMON_OPT += -hnopattern
ifdef INTERFACE64
ifneq ($(INTERFACE64), 0)
FCOMMON_OPT += -s integer64
endif
endif
ifneq ($(USE_OPENMP), 1)
FCOMMON_OPT += -O noomp
ifeq ($(USE_OPENMP), 1)
FCOMMON_OPT += -fopenmp
else
FCOMMON_OPT += -fno-openmp
endif
endif



+ 1
- 1
common_arm64.h View File

@@ -44,7 +44,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#define RMB __asm__ __volatile__ ("dmb ishld" : : : "memory")
#endif

#if defined( F_INTERFACE_FLANG) || defined(F_INTERFACE_PGI)
#if defined( F_INTERFACE_FLANG) || (defined(F_INTERFACE_PGI) && (defined(__NVCOMPILER) && (__NVCOMPILER_MAJOR__ < 23 || (__NVCOMPILER_MAJOR__ == 23 && __NVCOMPILER_MINOR__ < 9))))
#define RETURN_BY_STACK
#else
#define RETURN_BY_COMPLEX


+ 4
- 0
common_x86_64.h View File

@@ -283,6 +283,10 @@ static __inline unsigned int blas_quickdivide(unsigned int x, unsigned int y){
#define RETURN_BY_STACK
#endif

#ifdef F_INTERFACE_CRAYFC
#define RETURN_BY_PACKED
#endif

#ifdef F_INTERFACE_FUJITSU
#define RETURN_BY_STACK
#endif


Loading…
Cancel
Save