Branch: Tag:

2017-12-15

2017-12-15 16:23:34 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler: Make do_code_block() reentrant.

This fixes an issue where the same label could get allocated twice.

2821:    INT32 entry_point;    int aggregate_cnum = -1;    int save_stack_depth = current_stack_depth; +  int save_label_no = label_no;    current_stack_depth = 0;       if (Pike_compiler->compiler_frame->current_function_number >= 0) {
2925:    entry_point = assemble(1);       current_stack_depth = save_stack_depth; +  label_no = save_label_no;    return entry_point;   }