diff options
Diffstat (limited to 'gcc/testsuite/gfortran.dg/save_1.f90')
-rw-r--r-- | gcc/testsuite/gfortran.dg/save_1.f90 | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/save_1.f90 b/gcc/testsuite/gfortran.dg/save_1.f90 new file mode 100644 index 000000000..614986277 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/save_1.f90 @@ -0,0 +1,30 @@ +! { dg-options "-O2 -fno-automatic" } + subroutine foo (b) + logical b + integer i, j + character*24 s + save i + if (b) then + i = 26 + j = 131 + s = 'This is a test string' + else + if (i .ne. 26 .or. j .ne. 131) call abort + if (s .ne. 'This is a test string') call abort + end if + end subroutine foo + subroutine bar (s) + character*42 s + if (s .ne. '0123456789012345678901234567890123456') call abort + call foo (.false.) + end subroutine bar + subroutine baz + character*42 s + ! Just clobber stack a little bit. + s = '0123456789012345678901234567890123456' + call bar (s) + end subroutine baz + call foo (.true.) + call baz + call foo (.false.) + end |