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)) call abort () 18 allocate (a) 19 else if (no == 1) then 20 if (.not. allocated (a)) call abort () 21 deallocate (a) 22 else 23 if (allocated (a)) call abort () 24 end if 25 end subroutine sub 26end program test 27