summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/allocatable_scalar_7.f90
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gfortran.dg/allocatable_scalar_7.f90')
-rw-r--r--gcc/testsuite/gfortran.dg/allocatable_scalar_7.f9026
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