| ! { 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 |