111
|
1 ! { dg-do compile }
|
|
2 ! This tests a patch for a regression caused by the second part of
|
|
3 ! the fix for PR30554. The linked derived types dummy_atom and
|
|
4 ! dummy_atom_list caused a segment fault because they do not have
|
|
5 ! a namespace.
|
|
6 !
|
|
7 ! Contributed by Daniel Franke <franke.daniel@gmail.com>
|
|
8 !
|
|
9 MODULE types
|
|
10 TYPE :: dummy_atom_list
|
|
11 TYPE(dummy_atom), DIMENSION(:), POINTER :: table => null()
|
|
12 END TYPE
|
|
13
|
|
14 TYPE :: dummy_atom
|
|
15 TYPE(dummy_atom_private), POINTER :: p => null()
|
|
16 END TYPE
|
|
17
|
|
18 TYPE :: dummy_atom_private
|
|
19 INTEGER :: id
|
|
20 END TYPE
|
|
21 END MODULE
|
|
22
|
|
23 MODULE atom
|
|
24 USE types, ONLY: dummy_atom
|
|
25 INTERFACE
|
|
26 SUBROUTINE dummy_atom_insert_symmetry_mate(this, other)
|
|
27 USE types, ONLY: dummy_atom
|
|
28 TYPE(dummy_atom), INTENT(inout) :: this
|
|
29 TYPE(dummy_atom), INTENT(in) :: other
|
|
30 END SUBROUTINE
|
|
31 END INTERFACE
|
|
32 END MODULE
|
|
33
|
|
34 MODULE list
|
|
35 INTERFACE
|
|
36 SUBROUTINE dummy_atom_list_insert(this, atom2)
|
|
37 USE types, ONLY: dummy_atom_list
|
|
38 USE atom, ONLY: dummy_atom
|
|
39
|
|
40 TYPE(dummy_atom_list), INTENT(inout) :: this
|
|
41 TYPE(dummy_atom), INTENT(in) :: atom2
|
|
42 END SUBROUTINE
|
|
43 END INTERFACE
|
|
44 END MODULE
|