1 ! Program to test data statement
9 integer, dimension(4)::a
17 ! Full array and scalar component initializer
18 data tmp2(2)%t1(2)%r
, tmp2(1)%t1(3)%a
, tmp2(1)%b
/220,136,137,138,139,10/
19 data tmp2(2)%t1(4)%a
,tmp2(2)%t1(3)%a
/241,242,4*5,233,234/
21 data (tmp2(1)%t1(2)%a(i
),i
=4,1,-1)/124,123,122,121/
23 data tmp2(1)%t1(4)%a(4:1:-1)/144,143,142,141/
24 data tmp2(1)%t1(1)%a(1:4:2)/111,113/
25 ! array element reference
26 data tmp2(2)%t1(2)%a(3), tmp2(2)%t1(2)%a(1)/223,221/
28 if (any(tmp2(1)%t1(1)%a
.ne
. (/111,0,113,0/))) call abort
29 if (tmp2(1)%t1(1)%r
.ne
. 0.0) call abort
30 if (tmp2(1)%b
.ne
. 10) call abort
32 if (any(tmp2(1)%t1(2)%a
.ne
. (/121,122,123,124/))) call abort
33 if (tmp2(1)%t1(2)%r
.ne
. 0.0) call abort
34 if (tmp2(1)%b
.ne
. 10) call abort
36 if (any(tmp2(1)%t1(3)%a
.ne
. (/136,137,138,139/))) call abort
37 if (tmp2(1)%t1(3)%r
.ne
. 0.0) call abort
38 if (tmp2(1)%b
.ne
. 10) call abort
40 if (any(tmp2(1)%t1(4)%a
.ne
. (/141,142,143,144/))) call abort
41 if (tmp2(1)%t1(4)%r
.ne
. 0.0) call abort
42 if (tmp2(1)%b
.ne
. 10) call abort
44 if (any(tmp2(2)%t1(1)%a
.ne
. (/0,0,0,0/))) call abort
45 if (tmp2(2)%t1(1)%r
.ne
. 0.0) call abort
46 if (tmp2(2)%b
.ne
. 0) call abort
48 if (any(tmp2(2)%t1(2)%a
.ne
. (/221,0,223,0/))) call abort
49 if (tmp2(2)%t1(2)%r
.ne
. 220.0) call abort
50 if (tmp2(2)%b
.ne
. 0) call abort
52 if (any(tmp2(2)%t1(3)%a
.ne
. (/5,5,233,234/))) call abort
53 if (tmp2(2)%t1(3)%r
.ne
. 0.0) call abort
54 if (tmp2(2)%b
.ne
. 0) call abort
56 if (any(tmp2(2)%t1(4)%a
.ne
. (/241,242,5,5/))) call abort
57 if (tmp2(2)%t1(4)%r
.ne
. 0.0) call abort
58 if (tmp2(2)%b
.ne
. 0) call abort
65 data i
,j
,r
,k
,t
,b(5),b(2),((a(i
,j
),i
=1,4,1),j
=4,1,-1)/1,2,3,4,5,5,2,&
66 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16/
67 if ((i
.ne
.1) .and
. (j
.ne
.2).and
.(k
.ne
.4)) call abort
68 if ((r
.ne
.3.0).and
.(t
.ne
.5.0)) call abort
69 if (any(b
.ne
.(/0,2,0,0,5,0,0,0,0,0/))) call abort
70 if (any(a
.ne
.reshape((/13,14,15,16,9,10,11,12,5,6,7,8,1,2,3,4/),(/4,4/)))) call abort