46 lines
1.1 KiB
Fortran
46 lines
1.1 KiB
Fortran
|
! { dg-do compile }
|
||
|
! This tests a patch for a regression caused by the second part of
|
||
|
! the fix for PR30554. The linked derived types dummy_atom and
|
||
|
! dummy_atom_list caused a segment fault because they do not have
|
||
|
! a namespace.
|
||
|
!
|
||
|
! Contributed by Daniel Franke <franke.daniel@gmail.com>
|
||
|
!
|
||
|
MODULE types
|
||
|
TYPE :: dummy_atom_list
|
||
|
TYPE(dummy_atom), DIMENSION(:), POINTER :: table => null()
|
||
|
END TYPE
|
||
|
|
||
|
TYPE :: dummy_atom
|
||
|
TYPE(dummy_atom_private), POINTER :: p => null()
|
||
|
END TYPE
|
||
|
|
||
|
TYPE :: dummy_atom_private
|
||
|
INTEGER :: id
|
||
|
END TYPE
|
||
|
END MODULE
|
||
|
|
||
|
MODULE atom
|
||
|
USE types, ONLY: dummy_atom
|
||
|
INTERFACE
|
||
|
SUBROUTINE dummy_atom_insert_symmetry_mate(this, other)
|
||
|
USE types, ONLY: dummy_atom
|
||
|
TYPE(dummy_atom), INTENT(inout) :: this
|
||
|
TYPE(dummy_atom), INTENT(in) :: other
|
||
|
END SUBROUTINE
|
||
|
END INTERFACE
|
||
|
END MODULE
|
||
|
|
||
|
MODULE list
|
||
|
INTERFACE
|
||
|
SUBROUTINE dummy_atom_list_insert(this, atom2)
|
||
|
USE types, ONLY: dummy_atom_list
|
||
|
USE atom, ONLY: dummy_atom
|
||
|
|
||
|
TYPE(dummy_atom_list), INTENT(inout) :: this
|
||
|
TYPE(dummy_atom), INTENT(in) :: atom2
|
||
|
END SUBROUTINE
|
||
|
END INTERFACE
|
||
|
END MODULE
|
||
|
! { dg-final { cleanup-modules "atom types list" } }
|