Branch: Tag:

2021-07-11

2021-07-11 13:33:27 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fixed ref-count errors with PIKE_T_OPERATOR.

941:    case PIKE_T_SCOPE:    /* Deferred evaluation. */    if (op & 0x8000) { +  add_ref(arg);    *Pike_compiler->type_stackp = mk_type(op,    *Pike_compiler->type_stackp,    arg,
997:    free_type(t);    break;    } -  if (free_arg) { -  free_type(arg); -  } +     TYPE_STACK_DEBUG("push_type_operator");   }   
1175:    break;       case PIKE_T_OPERATOR: +  if (type & 0x8000) { +  struct pike_type *t = *(--Pike_compiler->type_stackp); +  *Pike_compiler->type_stackp = Pike_compiler->type_stackp[1]; +  push_type_operator(type, t); +  free_type(t); +  } else {    push_type_operator(type, NULL); -  +  }    break;       case '0':