summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/proc_ptr_comp_37.f90
blob: 9695b96066cb27d9068da49d5548f34f3d064d0f (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
! { dg-do compile }
!
! PR 56385: [4.6/4.7/4.8 Regression] [OOP] ICE with allocatable function result in a procedure-pointer component
!
! Contributed by Vladimir Fuka <vladimir.fuka@gmail.com>

  implicit none
  
  type :: TGeometricShape
  end type

  type :: TVolumeSourceBody
    class(TGeometricShape), allocatable :: GeometricShape
    procedure(scalar_flux_interface), pointer :: get_scalar_flux
  end type

  abstract interface
    function scalar_flux_interface(self) result(res)
      import
      real, allocatable :: res(:)
      class(TVolumeSourceBody), intent(in) :: self
    end function
  end interface

end