1
1
openmpi/ompi/mpi/fortran/configure-fortran-output.h.in
Gilles Gouaillardet 08d2a1a48d fortran: fix compile issue with ABSoft compilers
ABSoft compilers cannot compile a fortran subroutine
with the BIND(C, NAME="name") modifier *and* argument(s)
with the OPTIONAL modifier

This patch detects this unsupported feature and use
adhoc wrappers if it is missing

cmr=v1.8.2:reviewer=jsquyres

This commit was SVN r32246.
2014-07-15 10:41:11 +00:00

118 строки
4.5 KiB
Fortran

! -*- fortran -*-
!
! Copyright (c) 2006-2014 Cisco Systems, Inc. All rights reserved.
! Copyright (c) 2009-2012 Los Alamos National Security, LLC.
! All rights reserved.
! Copyright (c) 2014 Research Organization for Information Science
! and Technology (RIST). All rights reserved.
!
! $COPYRIGHT$
!
! Additional copyrights may follow
!
! $HEADER$
!
! This file exists to have a Fortran-safe header file that has
! results from configure tests.
#ifndef OMPI_FORTRAN_CONFIGURE_OUTPUT_H
#define OMPI_FORTRAN_CONFIGURE_OUTPUT_H
! Whether we're building the MPI IO interface or not
#define OMPI_PROVIDE_MPI_FILE_INTERFACE @OMPI_PROVIDE_MPI_FILE_INTERFACE@
! Whether we're using wrapper F08 functions or not
#define OMPI_FORTRAN_NEED_WRAPPER_ROUTINES @OMPI_FORTRAN_NEED_WRAPPER_ROUTINES@
! Whether we have PRIVATE or not
#define OMPI_FORTRAN_HAVE_PRIVATE @OMPI_FORTRAN_HAVE_PRIVATE@
! Whether we have PROTECTED or not
#define OMPI_FORTRAN_HAVE_PROTECTED @OMPI_FORTRAN_HAVE_PROTECTED@
! Whether we have ABSTRACT or not
#define OMPI_FORTRAN_HAVE_ABSTRACT @OMPI_FORTRAN_HAVE_ABSTRACT@
! Whether we have ASYNCHRONOUS or not
#define OMPI_FORTRAN_HAVE_ASYNCHRONOUS @OMPI_FORTRAN_HAVE_ASYNCHRONOUS@
! Whether we have ISO C binding or not
#define OMPI_FORTRAN_HAVE_ISO_C_BINDING @OMPI_FORTRAN_HAVE_ISO_C_BINDING@
! Whether we are building the MPI F08 bindings with subarray support or not
#define OMPI_FORTRAN_SUBARRAYS_SUPPORTED @OMPI_FORTRAN_SUBARRAYS_SUPPORTED@
! Whether we have BIND(C, NAME="name") subroutine with optional parameters or not
#define OMPI_FORTRAN_HAVE_BIND_C_WITH_OPTIONAL_ARGS @OMPI_FORTRAN_HAVE_BIND_C_WITH_OPTIONAL_ARGS@
! Line 1 of the ignore TKR syntax
! ...JMS not figured out yet...
! Line 2 of the ignore TKR syntax
#define OMPI_FORTRAN_IGNORE_TKR_TYPE @OMPI_FORTRAN_IGNORE_TKR_TYPE@
! Integers
#define OMPI_HAVE_FORTRAN_INTEGER1 @OMPI_HAVE_FORTRAN_INTEGER1@
#define OMPI_KIND_FORTRAN_INTEGER1 @OMPI_KIND_FORTRAN_INTEGER1@
#define OMPI_SIZEOF_FORTRAN_INTEGER1 @OMPI_SIZEOF_FORTRAN_INTEGER1@
#define OMPI_HAVE_FORTRAN_INTEGER2 @OMPI_HAVE_FORTRAN_INTEGER2@
#define OMPI_KIND_FORTRAN_INTEGER2 @OMPI_KIND_FORTRAN_INTEGER2@
#define OMPI_SIZEOF_FORTRAN_INTEGER2 @OMPI_SIZEOF_FORTRAN_INTEGER2@
#define OMPI_HAVE_FORTRAN_INTEGER4 @OMPI_HAVE_FORTRAN_INTEGER4@
#define OMPI_KIND_FORTRAN_INTEGER4 @OMPI_KIND_FORTRAN_INTEGER4@
#define OMPI_SIZEOF_FORTRAN_INTEGER4 @OMPI_SIZEOF_FORTRAN_INTEGER4@
#define OMPI_HAVE_FORTRAN_INTEGER8 @OMPI_HAVE_FORTRAN_INTEGER8@
#define OMPI_KIND_FORTRAN_INTEGER8 @OMPI_KIND_FORTRAN_INTEGER8@
#define OMPI_SIZEOF_FORTRAN_INTEGER8 @OMPI_SIZEOF_FORTRAN_INTEGER8@
#define OMPI_HAVE_FORTRAN_INTEGER16 @OMPI_HAVE_FORTRAN_INTEGER16@
#define OMPI_KIND_FORTRAN_INTEGER16 @OMPI_KIND_FORTRAN_INTEGER16@
#define OMPI_SIZEOF_FORTRAN_INTEGER16 @OMPI_SIZEOF_FORTRAN_INTEGER16@
! Reals
#define OMPI_HAVE_FORTRAN_REAL2 @OMPI_HAVE_FORTRAN_REAL2@
#define OMPI_KIND_FORTRAN_REAL2 @OMPI_KIND_FORTRAN_REAL2@
#define OMPI_SIZEOF_FORTRAN_REAL2 @OMPI_SIZEOF_FORTRAN_REAL2@
#define OMPI_HAVE_FORTRAN_REAL4 @OMPI_HAVE_FORTRAN_REAL4@
#define OMPI_KIND_FORTRAN_REAL4 @OMPI_KIND_FORTRAN_REAL4@
#define OMPI_SIZEOF_FORTRAN_REAL4 @OMPI_SIZEOF_FORTRAN_REAL4@
#define OMPI_HAVE_FORTRAN_REAL8 @OMPI_HAVE_FORTRAN_REAL8@
#define OMPI_KIND_FORTRAN_REAL8 @OMPI_KIND_FORTRAN_REAL8@
#define OMPI_SIZEOF_FORTRAN_REAL8 @OMPI_SIZEOF_FORTRAN_REAL8@
#define OMPI_HAVE_FORTRAN_REAL16 @OMPI_HAVE_FORTRAN_REAL16@
#define OMPI_KIND_FORTRAN_REAL16 @OMPI_KIND_FORTRAN_REAL16@
#define OMPI_SIZEOF_FORTRAN_REAL16 @OMPI_SIZEOF_FORTRAN_REAL16@
! Complexes
#define OMPI_HAVE_FORTRAN_COMPLEX4 @OMPI_HAVE_FORTRAN_COMPLEX4@
#define OMPI_KIND_FORTRAN_COMPLEX4 @OMPI_KIND_FORTRAN_COMPLEX4@
#define OMPI_SIZEOF_FORTRAN_COMPLEX4 @OMPI_SIZEOF_FORTRAN_COMPLEX4@
#define OMPI_HAVE_FORTRAN_COMPLEX8 @OMPI_HAVE_FORTRAN_COMPLEX8@
#define OMPI_KIND_FORTRAN_COMPLEX8 @OMPI_KIND_FORTRAN_COMPLEX8@
#define OMPI_SIZEOF_FORTRAN_COMPLEX8 @OMPI_SIZEOF_FORTRAN_COMPLEX8@
#define OMPI_HAVE_FORTRAN_COMPLEX16 @OMPI_HAVE_FORTRAN_COMPLEX16@
#define OMPI_KIND_FORTRAN_COMPLEX16 @OMPI_KIND_FORTRAN_COMPLEX16@
#define OMPI_SIZEOF_FORTRAN_COMPLEX16 @OMPI_SIZEOF_FORTRAN_COMPLEX16@
#define OMPI_HAVE_FORTRAN_COMPLEX32 @OMPI_HAVE_FORTRAN_COMPLEX32@
#define OMPI_KIND_FORTRAN_COMPLEX32 @OMPI_KIND_FORTRAN_COMPLEX32@
#define OMPI_SIZEOF_FORTRAN_COMPLEX32 @OMPI_SIZEOF_FORTRAN_COMPLEX32@
! Include some post-processing, based on the values from above
#include "ompi/mpi/fortran/configure-fortran-output-bottom.h"
#endif