@@ -14,6 +14,8 @@ dnl Copyright (c) 2007 Los Alamos National Security, LLC. All rights
14
14
dnl reserved.
15
15
dnl Copyright (c) 2007 Sun Microsystems, Inc. All rights reserved.
16
16
dnl Copyright (c) 2009-2015 Cisco Systems, Inc. All rights reserved.
17
+ dnl Copyright (c) 2013 Research Organization for Information Science
18
+ dnl and Technology (RIST). All rights reserved.
17
19
dnl $COPYRIGHT $
18
20
dnl
19
21
dnl Additional copyrights may follow
@@ -72,40 +74,40 @@ AC_DEFUN([_OMPI_FORTRAN_CHECK_IGNORE_TKR], [
72
74
73
75
# Vendor-neutral, TYPE(*) syntax
74
76
OMPI_FORTRAN_CHECK_IGNORE_TKR_SUB(
75
- [! ], [type(* )],
76
- [TYPE(* ), DIMENSION(* )],
77
+ [! ], [type(* ), DIMENSION(..)],[, ASYNCHRONOUS ],
78
+ [TYPE(* ), DIMENSION(.. )],
77
79
[internal_ignore_tkr_happy= 1], [internal_ignore_tkr_happy= 0])
78
80
79
81
# GCC compilers
80
82
AS_IF([test $internal_ignore_tkr_happy -eq 0],
81
83
[OMPI_FORTRAN_CHECK_IGNORE_TKR_SUB(
82
- [! GCC\$ ATTRIBUTES NO_ARG_CHECK ::], [type(* ), dimension(* )],
84
+ [! GCC\$ ATTRIBUTES NO_ARG_CHECK ::], [type(* ), dimension(* )],[],
83
85
[! GCC\$ ATTRIBUTES NO_ARG_CHECK],
84
86
[internal_ignore_tkr_happy= 1], [internal_ignore_tkr_happy= 0])])
85
87
# Intel compilers
86
88
AS_IF([test $internal_ignore_tkr_happy -eq 0],
87
89
[OMPI_FORTRAN_CHECK_IGNORE_TKR_SUB(
88
- [! DEC\$ ATTRIBUTES NO_ARG_CHECK ::], [real, dimension(* )],
90
+ [! DEC\$ ATTRIBUTES NO_ARG_CHECK ::], [real, dimension(* )],[],
89
91
[! DEC\$ ATTRIBUTES NO_ARG_CHECK],
90
92
[internal_ignore_tkr_happy= 1], [internal_ignore_tkr_happy= 0])])
91
93
# Solaris Studio compilers
92
94
# Note that due to a compiler bug, we have been advised by Oracle to
93
95
# use the "character(*)" type
94
96
AS_IF([test $internal_ignore_tkr_happy -eq 0],
95
97
[OMPI_FORTRAN_CHECK_IGNORE_TKR_SUB(
96
- [! \$ PRAGMA IGNORE_TKR], [character(* )],
98
+ [! \$ PRAGMA IGNORE_TKR], [character(* )],[],
97
99
[! \$ PRAGMA IGNORE_TKR],
98
100
[internal_ignore_tkr_happy= 1], [internal_ignore_tkr_happy= 0])])
99
101
# Cray compilers
100
102
AS_IF([test $internal_ignore_tkr_happy -eq 0],
101
103
[OMPI_FORTRAN_CHECK_IGNORE_TKR_SUB(
102
- [! DIR\$ IGNORE_TKR], [real, dimension(* )],
104
+ [! DIR\$ IGNORE_TKR], [real, dimension(* )],[],
103
105
[! DIR\$ IGNORE_TKR],
104
106
[internal_ignore_tkr_happy= 1], [internal_ignore_tkr_happy= 0])])
105
107
# IBM compilers
106
108
AS_IF([test $internal_ignore_tkr_happy -eq 0],
107
109
[OMPI_FORTRAN_CHECK_IGNORE_TKR_SUB(
108
- [! IBM* IGNORE_TKR], [real, dimension(* )],
110
+ [! IBM* IGNORE_TKR], [real, dimension(* )],[],
109
111
[! IBM* IGNORE_TKR],
110
112
[internal_ignore_tkr_happy= 1], [internal_ignore_tkr_happy= 0])])
111
113
@@ -124,13 +126,14 @@ AC_DEFUN([_OMPI_FORTRAN_CHECK_IGNORE_TKR], [
124
126
# functionality
125
127
# $1: pre-decl qualifier line -- likely a compiler directive
126
128
# $2: parameter type
127
- # $3: message for AC-MSG-CHECKING
128
- # $4: action to take if the test passes
129
- # $5: action to take if the test fails
129
+ # $3: asynchronous keyword
130
+ # $4: message for AC-MSG-CHECKING
131
+ # $5: action to take if the test passes
132
+ # $6: action to take if the test fails
130
133
AC_DEFUN([OMPI_FORTRAN_CHECK_IGNORE_TKR_SUB], [
131
134
OPAL_VAR_SCOPE_PUSH(msg)
132
135
AC_LANG_PUSH([Fortran])
133
- AC_MSG_CHECKING([for Fortran compiler support of $3 ])
136
+ AC_MSG_CHECKING([for Fortran compiler support of $4 ])
134
137
AC_COMPILE_IFELSE(AC_LANG_PROGRAM([],[[!
135
138
! Autoconf puts " program main" at the top
136
139
@@ -184,20 +187,35 @@ AC_DEFUN([OMPI_FORTRAN_CHECK_IGNORE_TKR_SUB], [
184
187
end program
185
188
186
189
subroutine force_assumed_shape(a, count)
190
+ implicit none
187
191
integer :: count
188
192
real, dimension(:,:) :: a
189
193
call foo(a, count)
190
194
end subroutine force_assumed_shape
191
195
196
+ module mod
197
+ interface
198
+ subroutine bar(buffer, count)
199
+ $2 , intent(in)$3 :: buffer
200
+ integer, intent(in) :: count
201
+ end subroutine bar
202
+ end interface
203
+ end module
204
+
205
+ subroutine bogus(buffer, count)
206
+ use mod, only : bar
207
+ implicit none
208
+ $2 , intent(in)$3 :: buffer
209
+ integer, intent(in) :: count
210
+ call bar(buffer, count)
192
211
! Autoconf puts " end" after the last line
193
- subroutine bogus
194
212
]]),
195
213
[msg= yes
196
214
ompi_fortran_ignore_tkr_predecl= " $1 "
197
215
ompi_fortran_ignore_tkr_type= " $2 "
198
- $4 ],
216
+ $5 ],
199
217
[msg= no
200
- $5 ])
218
+ $6 ])
201
219
AC_MSG_RESULT($msg )
202
220
AC_LANG_POP([Fortran])
203
221
OPAL_VAR_SCOPE_POP
0 commit comments