This is a tough one. The proc_ptr_comp_45.f90 test defines a type with a procedure pointer component whose interface is elemental:
12 interface
13 real elemental function iface (arg)
14 real, intent(in) :: arg
15 end function
16 end interface
...
23 type :: decay_gen_t
24 procedure(iface), nopass, pointer :: obs1_int
25 type(decay_term_t), allocatable :: term
26 end type
The NAG compiler rejects this as invalid:
$ nagfor proc_ptr_comp_45.f90
NAG Fortran Compiler Release 6.2(Chiyoda) Build 6207
Error: proc_ptr_comp_45.f90, line 24: Procedure pointer component OBS1_INT of type DECAY_GEN_T is ELEMENTAL
At this point I am mostly convinced that NAG is correct here. Malcolm Cohen's explanation to my question on the comp-fortran-90 mail list is here.
This is a tough one. The
proc_ptr_comp_45.f90
test defines a type with a procedure pointer component whose interface is elemental:The NAG compiler rejects this as invalid:
At this point I am mostly convinced that NAG is correct here. Malcolm Cohen's explanation to my question on the comp-fortran-90 mail list is here.