1! { dg-do run }
2! { dg-options "-finit-local-zero -fbackslash" }
3
4program init_flag_1
5  call real_test
6  call logical_test
7  call int_test
8  call complex_test
9  call char_test
10end program init_flag_1
11
12! Test some initializations for both implicitly and
13! explicitly declared local variables.
14subroutine real_test
15  real r1
16  real r2(10)
17  dimension r3(10,10)
18  if (r1 /= 0.0) call abort
19  if (r2(2) /= 0.0) call abort
20  if (r3(5,5) /= 0.0) call abort
21  if (r4 /= 0.0) call abort
22end subroutine real_test
23
24subroutine logical_test
25  logical l1
26  logical l2(2)
27  if (l1 .neqv. .false.) call abort
28  if (l2(2) .neqv. .false.) call abort
29end subroutine logical_test
30
31subroutine int_test
32  integer i1
33  integer i2(10)
34  dimension i3(10,10)
35  if (i1 /= 0) call abort
36  if (i2(2) /= 0) call abort
37  if (i3(5,5) /= 0) call abort
38  if (i4 /= 0) call abort
39end subroutine int_test
40
41subroutine complex_test
42  complex c1
43  complex c2(20,20)
44  if (c1 /= (0.0,0.0)) call abort
45  if (c2(1,1) /= (0.0,0.0)) call abort
46end subroutine complex_test
47
48subroutine char_test
49  character*1 c1
50  character*8 c2, c3(5)
51  character c4(10)
52  if (c1 /= '\0') call abort
53  if (c2 /= '\0\0\0\0\0\0\0\0') call abort
54  if (c3(1) /= '\0\0\0\0\0\0\0\0') call abort
55  if (c3(5) /= '\0\0\0\0\0\0\0\0') call abort
56  if (c4(5) /= '\0') call abort
57end subroutine char_test
58