fdoc

subroutineopen_scopeprivate

subroutine open_scope(c, up)

Open a scope that also sees frame up.

Arguments

NameTypeIntentAttributesDescription
ctype(fypp_t)inout

the state

upintegerin

the frame, or 0; this can be c%frame itself

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

Graphs

Calls

Called by