pike.git / src / language.yacc

version» Context lines:

pike.git/src/language.yacc:3742:    {    /* A?->B to ((tmp=A) && tmp->B) */    int temporary;    if( $1 && ($1->token == F_LOCAL) )    {    $$=mknode(F_LAND, copy_node($1), mknode(F_ARROW, $1, $4));    }    else    {    fix_type_field( $1 ); -  if( $1->type ) +  if( $1 && $1->type )    {    $1->type->refs++;       temporary = add_local_name(empty_pike_string, $1->type, 0);    Pike_compiler->compiler_frame->variable[temporary].flags |= LOCAL_VAR_IS_USED;    $$=mknode(F_LAND,    mknode(F_ASSIGN, $1, mklocalnode(temporary,0)),    mknode(F_ARROW, mklocalnode(temporary,0), $4));    }    else