31 lines
692 B
Fortran
31 lines
692 B
Fortran
! { 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
|