OSDN Git Service

2009-08-20 Thomas Koenig <tkoenig@gcc.gnu.org>
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gfortran.dg / derived_pointer_recursion_2.f90
1 ! { dg-do run }
2 !
3 ! PR 40594: [4.5 Regression] wrong-code
4 !
5 ! Original test case by Daniel Franke <dfranke@gcc.gnu.org>
6 ! Modified by Janus Weil <janus@gcc.gnu.org>
7
8 MODULE atom_types
9
10 TYPE :: atom_list
11   TYPE(atom_private), DIMENSION(:), pointer :: table
12 END TYPE
13
14 TYPE :: atom_private
15   TYPE(atom_list) :: neighbours
16   LOGICAL         :: initialized = .true.
17 END TYPE
18
19 TYPE :: atom_model
20   TYPE(atom_list) :: atoms
21   integer         :: dummy
22 END TYPE
23
24 contains
25
26   SUBROUTINE init(this)
27     TYPE(atom_private) :: this
28     this%initialized = .FALSE.
29   END SUBROUTINE
30
31 END MODULE
32
33
34 program pr40594
35
36   USE atom_types
37   TYPE(atom_model) :: am
38   type(atom_private) :: ap
39
40   am%dummy = 0
41
42   call init(ap)
43   if (ap%initialized .neqv. .false.) call abort()
44
45 END
46
47 ! { dg-final { cleanup-modules "atom_types" } }
48