Branch: Tag:

2016-05-01

2016-05-01 11:05:33 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [auto]: Fixed multiple issues.

The PIKE_T_AUTO type node now always has a child type.

gc_check_type() now knows about PIKE_T_AUTO.

{debug_,}push_auto_typed_type() is no more.

Fixed issue with low_describe_type() appending to the wrong
buffer when describing the auto type.

Fixes some related type reference counting errors.

3728:       if( t->type == PIKE_T_AUTO )    { -  if( t->car ) +  if( t->car != zero_type_string )    {    /* Not the first one.. */ -  push_auto_typed_type( or_pike_types( t->car, CAR(n)->type, 0 ) ); +  push_finished_type( or_pike_types( t->car, CAR(n)->type, 1 ) );    }    else    {    /* first one.. */ -  push_auto_typed_type( CAR(n)->type ); +  push_finished_type(CAR(n)->type);    } -  +  push_type(PIKE_T_AUTO);    free_type( t );    t = pop_type();    Pike_compiler->compiler_frame->current_return_type = t;