49 lines
805 B
Fortran
49 lines
805 B
Fortran
! { dg-do run }
|
|
!
|
|
! PR 40594: [4.5 Regression] wrong-code
|
|
!
|
|
! Original test case by Daniel Franke <dfranke@gcc.gnu.org>
|
|
! Modified by Janus Weil <janus@gcc.gnu.org>
|
|
|
|
MODULE atom_types
|
|
|
|
TYPE :: atom_list
|
|
TYPE(atom_private), DIMENSION(:), pointer :: table
|
|
END TYPE
|
|
|
|
TYPE :: atom_private
|
|
TYPE(atom_list) :: neighbours
|
|
LOGICAL :: initialized = .true.
|
|
END TYPE
|
|
|
|
TYPE :: atom_model
|
|
TYPE(atom_list) :: atoms
|
|
integer :: dummy
|
|
END TYPE
|
|
|
|
contains
|
|
|
|
SUBROUTINE init(this)
|
|
TYPE(atom_private) :: this
|
|
this%initialized = .FALSE.
|
|
END SUBROUTINE
|
|
|
|
END MODULE
|
|
|
|
|
|
program pr40594
|
|
|
|
USE atom_types
|
|
TYPE(atom_model) :: am
|
|
type(atom_private) :: ap
|
|
|
|
am%dummy = 0
|
|
|
|
call init(ap)
|
|
if (ap%initialized .neqv. .false.) call abort()
|
|
|
|
END
|
|
|
|
! { dg-final { cleanup-modules "atom_types" } }
|
|
|