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

  use global_numbering
  type (element_type) :: e
  type (ele_numbering_type), target :: ent
  allocate (ent%number2count (2,2))
  e%numbering => ent
  print *, element_local_coords (e)
end
! { dg-final { cleanup-modules "elements global_numbering" } }