blob: da9d1a7c29de126fcfd31e1de2c8b34b2406cd54 [file] [log] [blame]
! { dg-do run }
!
! PR fortran/55763
!
! Contributed by Reinhold Bader
!
module mod_alloc_scalar_01
contains
subroutine construct(this)
class(*), allocatable, intent(out) :: this
integer :: this_i
this_i = 4
allocate(this, source=this_i)
end subroutine
end module
program alloc_scalar_01
use mod_alloc_scalar_01
implicit none
class(*), allocatable :: mystuff
call construct(mystuff)
call construct(mystuff)
select type(mystuff)
type is (integer)
if (mystuff == 4) then
! write(*,*) 'OK'
else
STOP 1
! write(*,*) 'FAIL 1'
end if
class default
STOP 2
! write(*,*) 'FAIL 2'
end select
end program