1! { dg-do compile } 2! Tests the fix for PR27709 in which the specification expression on 3! line 22 was not resolved because of the multiple component references. 4! 5! Contributed by David Ham <David@ham.dropbear.id.au> 6! 7module elements 8 implicit none 9 type element_type 10 type(ele_numbering_type), pointer :: numbering 11 end type element_type 12 type ele_numbering_type 13 integer, dimension(:,:), pointer :: number2count 14 end type ele_numbering_type 15end module elements 16module global_numbering 17 use elements 18 implicit none 19contains 20 function element_local_coords(element) result (coords) 21 type(element_type), intent(in) :: element 22 real, dimension(size(element%numbering%number2count, 1)) :: coords 23 coords=0.0 24 end function element_local_coords 25end module global_numbering 26 27 use global_numbering 28 type (element_type) :: e 29 type (ele_numbering_type), target :: ent 30 allocate (ent%number2count (2,2)) 31 e%numbering => ent 32 print *, element_local_coords (e) 33end 34