subroutineopen_scopeprivate
subroutine open_scope(c, up)
Open a scope that also sees frame up.
Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
| c | type(fypp_t) | inout | the state | |
| up | integer | in | the frame, or 0; this can be |
Calls
Source
Show the code
subroutine open_scope(c, up)
type(fypp_t), intent(inout) :: c !! the state
integer, intent(in) :: up !! the frame, or 0; this can be `c%frame` itself
if (c%frame == MAX_FRAMES) then
call fail(c, 'macro calls are nested too deeply')
return
end if
c%frames(c%frame + 1)%n = 0
c%frames(c%frame + 1)%up = up
c%frame = c%frame + 1
end subroutine open_scope