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