File: ompi_fortran_check_optional_args.m4

package info (click to toggle)
openmpi 3.1.3-11
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 118,572 kB
  • sloc: ansic: 628,972; f90: 17,993; makefile: 13,761; sh: 7,051; java: 6,360; perl: 3,215; cpp: 2,225; python: 1,350; lex: 988; fortran: 52; tcl: 12
file content (54 lines) | stat: -rw-r--r-- 1,919 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
dnl -*- shell-script -*-
dnl
dnl Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
dnl                         University Research and Technology
dnl                         Corporation.  All rights reserved.
dnl Copyright (c) 2004-2005 The University of Tennessee and The University
dnl                         of Tennessee Research Foundation.  All rights
dnl                         reserved.
dnl Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
dnl                         University of Stuttgart.  All rights reserved.
dnl Copyright (c) 2004-2005 The Regents of the University of California.
dnl                         All rights reserved.
dnl Copyright (c) 2010-2014 Cisco Systems, Inc.  All rights reserved.
dnl $COPYRIGHT$
dnl
dnl Additional copyrights may follow
dnl
dnl $HEADER$
dnl

# Check whether or not the Fortran compiler supports the "optional"
# keyword or not.

# OMPI_FORTRAN_CHECK_OPTIONAL_ARGS([action if found],
#                                  [action if not found])
# ----------------------------------------------------
AC_DEFUN([OMPI_FORTRAN_CHECK_OPTIONAL_ARGS],[
    AS_VAR_PUSHDEF([optional_var], [ompi_cv_fortran_optional])

    AC_CACHE_CHECK([if Fortran compiler supports optional arguments], optional_var,
       [AC_LANG_PUSH([Fortran])
        AC_COMPILE_IFELSE([AC_LANG_SOURCE([[program check_for_optional
   use, intrinsic :: iso_c_binding

   interface
      subroutine check_op(i, ierror)
         integer, intent(in), value :: i
         integer, intent(out), optional :: ierror
      end subroutine check_op
   end interface

   integer :: ierror

   call check_op(0)
   call check_op(1, ierror)
end program]])],
             [AS_VAR_SET(optional_var, yes)],
             [AS_VAR_SET(optional_var, no)])
        AC_LANG_POP([Fortran])
       ])

    AS_VAR_IF(optional_var, [yes], [$1], [$2])
    AS_VAR_POPDEF([optional_var])dnl
])