1! { dg-do run }
2! { dg-options "-std=f2008 " }
3
4! Check for correct placement (on the stack) of local variables with BLOCK
5! and recursive container procedures.
6
7RECURSIVE SUBROUTINE myproc (i)
8  INTEGER, INTENT(IN) :: i
9  ! Wrap the block up in some other construct so we see this doesn't mess
10  ! things up, either.
11  DO
12    BLOCK
13      INTEGER :: x
14      x = i
15      IF (i > 0) CALL myproc (i - 1)
16      IF (x /= i) STOP 1
17    END BLOCK
18    EXIT
19  END DO
20END SUBROUTINE myproc
21
22PROGRAM main
23  CALL myproc (42)
24END PROGRAM main
25