Fortran declare simd and generics

Comments and discussion of the 4.1 OpenMP Draft specifications. Comment period ends September 30, 2015. See 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:
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
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) )

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