Fortran declare simd and generics

Comments and discussion of the 4.1 OpenMP Draft specifications. Comment period ends September 30, 2015. See http://openmp.org/wp/openmp-specifications/ to download the specifications. (Read Only)
Forum rules
The OpenMP Forums are now closed to new posts. Please visit Stack Overflow if you are in need of help: https://stackoverflow.com/questions/tagged/openmp
Locked
fewl9012
Posts: 73
Joined: Mon Jul 27, 2015 4:50 pm

Fortran declare simd and generics

Post by fewl9012 »

declare simd may only be used for non-generic names. What if I have a specific routine that is in a generic interface block, as:
module m
interface bungle
module procedure bungler
module procedure bumblebee
end interface
contains
function bunglea( a )
real bunglea, a
!$omp declare simd
...
end function
function bumblebee( b )
integer bumblebee, b
...
end bumblebee
end module
...
subroutine otherroutine
use m
..
!$omp simd
do i = 1, n
x(i) = bungle( y(i) )
enddo

if x and y are real, does bungle get resolved to bungler and the simd version get used in this loop?

Locked