1! { dg-do run } 2! 3! PR fortran/41872 4! 5! Allocatable scalars with SAVE 6! 7program test 8 implicit none 9 call sub (0) 10 call sub (1) 11 call sub (2) 12contains 13 subroutine sub (no) 14 integer, intent(in) :: no 15 integer, allocatable, save :: a 16 if (no == 0) then 17 if (allocated (a)) STOP 1 18 allocate (a) 19 else if (no == 1) then 20 if (.not. allocated (a)) STOP 2 21 deallocate (a) 22 else 23 if (allocated (a)) STOP 3 24 end if 25 end subroutine sub 26end program test 27