pike.git / src / las.cmod

version» Context lines:

pike.git/src/las.cmod:4600:    free_node(n);    n=0;    break;       case 1:    if(Pike_compiler->catch_level && SAFE_IS_ZERO(Pike_sp-1))    {    pop_stack();    return n;    } -  if (n->token == F_SOFT_CAST) { -  new = mksoftcastnode(n->type, mksvaluenode(Pike_sp-1)); -  } else { +     new = mksvaluenode(Pike_sp-1); -  if (n->type && (!new->type || ((n->type != new->type) && -  pike_types_le(n->type,new->type)))) { -  if (new->type) -  free_type(new->type); -  copy_pike_type(new->type, n->type); +  if (n->type && (!new->type || !pike_types_le(new->type, n->type))) { +  new = mksoftcastnode(n->type, new);    } -  } +     free_node(n);    n = new;    pop_stack();    break;       default:    if (n->token != F_SOFT_CAST) {    free_node(n);    n=NULL;    while(args--)