OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [gfortran.dg/] [alloc_comp_basics_5.f90] - Rev 694

Compare with Previous | Blame | View Log

! { dg-do run }
! This checks the correct functioning of derived types with the SAVE
! attribute and allocatable components - PR31163
!
! Contributed by Salvatore Filippone  <salvatore.filippone@uniroma2.it>
!
Module bar_mod

  type foo_type
     integer, allocatable :: mv(:)
  end type foo_type


contains


  subroutine bar_foo_ab(info)

    integer, intent(out)               :: info
    Type(foo_type), save :: f_a
    
    if (allocated(f_a%mv)) then 
      info = size(f_a%mv)
    else
      allocate(f_a%mv(10),stat=info)
      if (info /= 0) then 
        info = -1 
      endif
    end if
  end subroutine bar_foo_ab


end module bar_mod

program tsave
  use bar_mod

  integer :: info
  
  call bar_foo_ab(info) 
  if (info .ne. 0) call abort ()
  call bar_foo_ab(info) 
  if (info .ne. 10) call abort ()
  
end program tsave

! { dg-final { cleanup-modules "bar_mod" } }

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.