pike.git / src / docode.c

version» Context lines:

pike.git/src/docode.c:1330:    emit0(F_ATOMIC_GET_SET);    return 1;    }       yywarning("Use of operator ?= without using return value.");    n->token = F_ASSIGN;       /* FALLTHROUGH */       case F_ASSIGN: +  case F_INITIALIZE:       if( CAR(n)->token == F_AUTO_MAP_MARKER )    {    int depth = 0;    node *lval = CAR(n);    while( lval->token == F_AUTO_MAP_MARKER )    {    lval = CAR(lval);    depth++;    }
pike.git/src/docode.c:1399:    emit0(F_LTOSVAL);    num_args = do_docode(CDDR(n), 0);    }       if (CDR (n)->token == F_RANGE)    emit_range (CDR (n) DO_IF_DEBUG (COMMA num_args));    else    emit0(CDR(n)->token);       emit0(n->token); -  return n->token==F_ASSIGN; /* So when is this false? /mast */ +  +  /* So when is this false? /mast */ +  return (n->token == F_ASSIGN) || (n->token == F_INITIALIZE);    }    goto do_not_suboptimize_assign;       case F_SOFT_CAST:    /* a = [type]`oper(a,*) */    if( CADR(n)->token == F_APPLY &&    is_apply_constant_function_arg0( CADR(n), CAR(n) ))    return 1;    goto do_not_suboptimize_assign;    case F_APPLY: