1 ! Program to test DERIVED type with components point to the DERIVED
2 ! type itself, and two DERIVED type with componets point to each
7 type(record), pointer :: rp
12 type(record2
), pointer :: r1p
17 type(record1
), pointer :: r2p
20 type(record), target
:: e1
, e2
, e3
21 type(record1
), target
:: r1
22 type(record2
), target
:: r2
23 nullify(r1
%r1p
,r2
%r2p
,e1
%rp
,e2
%rp
,e3
%rp
)
37 if (r1
%r1p
%value
.ne
. 22) call abort
38 if (r2
%r2p
%value
.ne
. 11) call abort
39 if (e1
%value
.ne
. 33) call abort
40 if (e2
%value
.ne
. 44) call abort
41 if (e3
%value
.ne
. 55) call abort
42 if (r1
%value
.ne
. 11) call abort
43 if (r2
%value
.ne
. 22) call abort