1! { dg-do run } 2! { dg-options "-finit-integer=101" } 3 4program init_flag_7 5 call save_test1 (.true.) 6 call save_test1 (.false.) 7 call save_test2 (.true.) 8 call save_test2 (.false.) 9end program init_flag_7 10 11! Test some initializations for both implicitly and 12! explicitly declared local variables. 13subroutine save_test1 (first) 14 logical first 15 integer :: i1 = -100 16 integer i2 17 integer i3 18 save i2 19 if (first) then 20 if (i1 .ne. -100) STOP 1 21 if (i2 .ne. 101) STOP 2 22 if (i3 .ne. 101) STOP 3 23 else 24 if (i1 .ne. 1001) STOP 4 25 if (i2 .ne. 1002) STOP 5 26 if (i3 .ne. 101) STOP 6 27 end if 28 i1 = 1001 29 i2 = 1002 30 i3 = 1003 31end subroutine save_test1 32 33subroutine save_test2 (first) 34 logical first 35 integer :: i1 = -100 36 integer i2 37 save 38 if (first) then 39 if (i1 .ne. -100) STOP 7 40 if (i2 .ne. 101) STOP 8 41 else 42 if (i1 .ne. 1001) STOP 9 43 if (i2 .ne. 1002) STOP 10 44 end if 45 i1 = 1001 46 i2 = 1002 47end subroutine save_test2 48