pike.git / src / las.c

version» Context lines:

pike.git/src/las.c:4799:    continue;    }       c->lex.current_line = n->line_number;    c->lex.current_file = dmalloc_touch(struct pike_string *, n->current_file);       n->tree_info = n->node_info;    if(car_is_node(n)) n->tree_info |= CAR(n)->tree_info;    if(cdr_is_node(n)) n->tree_info |= CDR(n)->tree_info;    -  if(!n->parent) break; -  +     if(n->tree_info & (OPT_NOT_CONST|    OPT_SIDE_EFFECT|    OPT_EXTERNAL_DEPEND|    OPT_ASSIGNMENT|    OPT_RETURN|    OPT_FLAG_NODE))    {    if(car_is_node(n) &&    !(CAR(n)->tree_info & (OPT_NOT_CONST|    OPT_SIDE_EFFECT|
pike.git/src/las.c:4843:    if(CDR(n)) CDR(n)->parent = n;    zapp_try_optimize(CDR(n)); /* avoid infinite loops */    continue;    }    }    if (!n->type || (n->node_info & OPT_TYPE_NOT_FIXED)) {    fix_type_field(n);    }    debug_malloc_touch(n->type);    +  if(!n->parent) break; +    #ifdef PIKE_DEBUG    if(l_flag > 3 && n)    {    fprintf(stderr,"Optimizing (tree info=%04x):",n->tree_info);    print_tree(n);    }   #endif       switch(n->token)    {