diff options
Diffstat (limited to 'gcc/testsuite/gfortran.dg/allocatable_scalar_7.f90')
-rw-r--r-- | gcc/testsuite/gfortran.dg/allocatable_scalar_7.f90 | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/allocatable_scalar_7.f90 b/gcc/testsuite/gfortran.dg/allocatable_scalar_7.f90 new file mode 100644 index 000000000..001dd241b --- /dev/null +++ b/gcc/testsuite/gfortran.dg/allocatable_scalar_7.f90 @@ -0,0 +1,26 @@ +! { dg-do run } +! +! PR fortran/41872 +! +! Allocatable scalars with SAVE +! +program test + implicit none + call sub (0) + call sub (1) + call sub (2) +contains + subroutine sub (no) + integer, intent(in) :: no + integer, allocatable, save :: a + if (no == 0) then + if (allocated (a)) call abort () + allocate (a) + else if (no == 1) then + if (.not. allocated (a)) call abort () + deallocate (a) + else + if (allocated (a)) call abort () + end if + end subroutine sub +end program test |