MCPcopy Create free account
hub / github.com/boostorg/build / argument_list_pop

Function argument_list_pop

v2/engine/function.c:3123–3149  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3121}
3122
3123void argument_list_pop( struct arg_list * formal, int formal_count,
3124 FRAME * frame, STACK * s )
3125{
3126 int i;
3127 for ( i = formal_count - 1; i >= 0; --i )
3128 {
3129 int j;
3130 for ( j = formal[ i ].size - 1; j >= 0 ; --j )
3131 {
3132 struct argument * formal_arg = &formal[ i ].args[ j ];
3133
3134 if ( formal_arg->flags == ARG_VARIADIC )
3135 continue;
3136 if ( formal_arg->index != -1 )
3137 {
3138 LIST * const old = stack_pop( s );
3139 LIST * * const pos = &frame->module->fixed_variables[
3140 formal_arg->index ];
3141 list_free( *pos );
3142 *pos = old;
3143 }
3144 else
3145 var_set( frame->module, formal_arg->arg_name, stack_pop( s ),
3146 VAR_SET );
3147 }
3148 }
3149}
3150
3151
3152struct argument_compiler

Callers 1

function_runFunction · 0.85

Calls 3

stack_popFunction · 0.85
list_freeFunction · 0.85
var_setFunction · 0.85

Tested by

no test coverage detected