| ! { dg-do run } |
| ! { dg-options "-finit-local-zero -fbackslash" } |
| |
| program init_flag_1 |
| call real_test |
| call logical_test |
| call int_test |
| call complex_test |
| call char_test |
| end program init_flag_1 |
| |
| ! Test some initializations for both implicitly and |
| ! explicitly declared local variables. |
| subroutine real_test |
| real r1 |
| real r2(10) |
| dimension r3(10,10) |
| if (r1 /= 0.0) STOP 1 |
| if (r2(2) /= 0.0) STOP 2 |
| if (r3(5,5) /= 0.0) STOP 3 |
| if (r4 /= 0.0) STOP 4 |
| end subroutine real_test |
| |
| subroutine logical_test |
| logical l1 |
| logical l2(2) |
| if (l1 .neqv. .false.) STOP 5 |
| if (l2(2) .neqv. .false.) STOP 6 |
| end subroutine logical_test |
| |
| subroutine int_test |
| integer i1 |
| integer i2(10) |
| dimension i3(10,10) |
| if (i1 /= 0) STOP 7 |
| if (i2(2) /= 0) STOP 8 |
| if (i3(5,5) /= 0) STOP 9 |
| if (i4 /= 0) STOP 10 |
| end subroutine int_test |
| |
| subroutine complex_test |
| complex c1 |
| complex c2(20,20) |
| if (c1 /= (0.0,0.0)) STOP 11 |
| if (c2(1,1) /= (0.0,0.0)) STOP 12 |
| end subroutine complex_test |
| |
| subroutine char_test |
| character*1 c1 |
| character*8 c2, c3(5) |
| character c4(10) |
| if (c1 /= '\0') STOP 13 |
| if (c2 /= '\0\0\0\0\0\0\0\0') STOP 14 |
| if (c3(1) /= '\0\0\0\0\0\0\0\0') STOP 15 |
| if (c3(5) /= '\0\0\0\0\0\0\0\0') STOP 16 |
| if (c4(5) /= '\0') STOP 17 |
| end subroutine char_test |