Skip to content

Commit 760bf7a

Browse files
committed
Update Fortran return for complex data types (Cray and Nvidia compilers)
1 parent 24c5152 commit 760bf7a

File tree

3 files changed

+10
-4
lines changed

3 files changed

+10
-4
lines changed

Makefile.system

+5-3
Original file line numberDiff line numberDiff line change
@@ -1392,15 +1392,17 @@ endif
13921392
endif
13931393

13941394
ifeq ($(F_COMPILER), CRAY)
1395-
CCOMMON_OPT += -DF_INTERFACE_INTEL
1395+
CCOMMON_OPT += -DF_INTERFACE_CRAYFC
13961396
FCOMMON_OPT += -hnopattern
13971397
ifdef INTERFACE64
13981398
ifneq ($(INTERFACE64), 0)
13991399
FCOMMON_OPT += -s integer64
14001400
endif
14011401
endif
1402-
ifneq ($(USE_OPENMP), 1)
1403-
FCOMMON_OPT += -O noomp
1402+
ifeq ($(USE_OPENMP), 1)
1403+
FCOMMON_OPT += -fopenmp
1404+
else
1405+
FCOMMON_OPT += -fno-openmp
14041406
endif
14051407
endif
14061408

common_arm64.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
4444
#define RMB __asm__ __volatile__ ("dmb ishld" : : : "memory")
4545
#endif
4646

47-
#if defined( F_INTERFACE_FLANG) || defined(F_INTERFACE_PGI)
47+
#if defined( F_INTERFACE_FLANG) || (defined(F_INTERFACE_PGI) && (defined(__NVCOMPILER) && (__NVCOMPILER_MAJOR__ < 23 || (__NVCOMPILER_MAJOR__ == 23 && __NVCOMPILER_MINOR__ < 9))))
4848
#define RETURN_BY_STACK
4949
#else
5050
#define RETURN_BY_COMPLEX

common_x86_64.h

+4
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,10 @@ static __inline unsigned int blas_quickdivide(unsigned int x, unsigned int y){
283283
#define RETURN_BY_STACK
284284
#endif
285285

286+
#ifdef F_INTERFACE_CRAYFC
287+
#define RETURN_BY_PACKED
288+
#endif
289+
286290
#ifdef F_INTERFACE_FUJITSU
287291
#define RETURN_BY_STACK
288292
#endif

0 commit comments

Comments
 (0)