5 ! See also interpretation request F03-0130 in 09-217 and 10-006T5r1.
7 ! - ELEMENTAL is only permitted for external names with PROCEDURE/INTERFACE
8 ! but not for dummy arguments or proc-pointers
9 ! - Using PROCEDURE with an elemental intrinsic as interface name a is valid,
10 ! but doesn't make the proc-pointer/dummy argument elemental
14 elemental
real function x(y
)
19 procedure(x
) :: xx1
! OK
20 procedure(x
), pointer :: xx2
! { dg-error "Procedure pointer 'xx2' at .1. shall not be elemental" }
21 procedure(real), pointer :: pp
22 procedure(sin
) :: bar
! OK
23 procedure(sin
), pointer :: foo
! { dg-error "Procedure pointer 'foo' at .1. shall not be elemental" }
26 subroutine sub1(z
) ! { dg-error "Dummy procedure 'z' at .1. shall not be elemental" }
29 subroutine sub2(z
) ! { dg-error "Procedure pointer 'z' at .1. shall not be elemental" }
30 procedure(x
), pointer :: z
34 elemental
real function z(y
) ! { dg-error "Dummy procedure 'z' at .1. shall not be elemental" }
41 elemental
real function z(y
) ! { dg-error "Procedure pointer 'z' at .1. shall not be elemental" }
47 subroutine sub5(z
) ! { dg-error "Dummy procedure 'z' at .1. shall not be elemental" }