[C++ PATCH] Deprecate -ffriend-injection
[official-gcc.git] / gcc / testsuite / gfortran.dg / class_allocate_7.f03
blobee01faddf44fc3391d9853ccc8ad0d9ff82c41c2
1 ! { dg-do run }
2 ! PR51870 - ALLOCATE with class function expression for SOURCE failed.
3 ! This is the original test in the PR.
5 ! Reported by Tobias Burnus  <burnus@gcc.gnu.org>
7 module show_producer_class
8   implicit none
9   type integrand
10     integer :: variable = -1
11   end type integrand
13   type show_producer
14   contains
15     procedure ,nopass :: create_show
16   end type
17 contains
18   function create_show () result(new_integrand)
19     class(integrand) ,allocatable :: new_integrand
20     allocate(new_integrand)
21     new_integrand%variable = 99
22   end function
23 end module
25 program main
26   use show_producer_class
27   implicit none
28   class(integrand) ,allocatable :: kernel
29   type(show_producer) :: executive_producer
31   allocate(kernel,source=executive_producer%create_show ())
32   if (kernel%variable .ne. 99) call abort
33 end program