25 lines
553 B
Plaintext
25 lines
553 B
Plaintext
! { dg-do run }
|
|
! { dg-options "-std=f2008 -fall-intrinsics" }
|
|
|
|
! Check for correct placement (on the stack) of local variables with BLOCK
|
|
! and recursive container procedures.
|
|
|
|
RECURSIVE SUBROUTINE myproc (i)
|
|
INTEGER, INTENT(IN) :: i
|
|
! Wrap the block up in some other construct so we see this doesn't mess
|
|
! things up, either.
|
|
DO
|
|
BLOCK
|
|
INTEGER :: x
|
|
x = i
|
|
IF (i > 0) CALL myproc (i - 1)
|
|
IF (x /= i) CALL abort ()
|
|
END BLOCK
|
|
EXIT
|
|
END DO
|
|
END SUBROUTINE myproc
|
|
|
|
PROGRAM main
|
|
CALL myproc (42)
|
|
END PROGRAM main
|