Branch: Tag:

2017-11-05

2017-11-05 13:56:03 by Arne Goedeke <el@laramies.com>

Interpreter: fix F_MARK_*_AND_POP

Since the LOCAL_VAR macro was removed, the local variables 'pc' in these
opcodes shadowed the function parameter 'pc' which was the instruction
pointer.

2299:   PIKE_CONCAT(OP,_RETURN)(PIKE_CONCAT3(F_MARK_,OPCODE,_AND_RETURN), \    "mark, " NAME " & return",I_UPDATE_ALL, \   { \ -  PIKE_OPCODE_T *pc; \ -  if((pc=low_mega_apply(TYPE, 0, ARG2, ARG3))) \ +  PIKE_OPCODE_T *addr; \ +  if((addr=low_mega_apply(TYPE, 0, ARG2, ARG3))) \    { \    DO_IF_DEBUG(Pike_fp->next->pc=0); \    unlink_previous_frame(); \ -  DO_JUMP_TO(pc); \ +  DO_JUMP_TO(addr); \    } \    else { \    DO_DUMB_RETURN; \