! { dg-do run } | |
! { dg-options "-std=f2008 " } | |
! 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) STOP 1 | |
END BLOCK | |
EXIT | |
END DO | |
END SUBROUTINE myproc | |
PROGRAM main | |
CALL myproc (42) | |
END PROGRAM main |