1! { dg-do compile }
2! Tests the fix for PR31086 in which the chained derived types
3! was not being associated.
4!
5! Contributed by Daniel Franke <dfranke@gcc.gnu.org>
6!
7MODULE class_dummy_atom_types
8TYPE :: dummy_atom_list
9  TYPE(dummy_atom), DIMENSION(:), POINTER :: table
10END TYPE
11
12TYPE :: dummy_atom
13  TYPE(dummy_atom_list) :: neighbours
14END TYPE
15
16TYPE :: dummy_atom_model
17  TYPE(dummy_atom_list) :: atoms
18END TYPE
19END MODULE
20
21MODULE test_class_intensity_private
22CONTAINS
23  SUBROUTINE change_phase(atom)
24    USE class_dummy_atom_types
25    TYPE(dummy_atom), INTENT(inout) :: atom
26  END SUBROUTINE
27
28  SUBROUTINE simulate_cube()
29    USE class_dummy_atom_types
30    TYPE(dummy_atom)       :: atom
31    TYPE(dummy_atom_model) :: dam
32    atom = dam%atoms%table(1)
33  END SUBROUTINE
34END MODULE
35