Branch: Tag:

2016-09-14

2016-09-14 09:10:19 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler: Fixed broken range optimization.

The range operator was lost in the expression

A = (A + B)[low..high];

due to a fallthrough.

Fixes [bug 7780 (#7780)].

1352:    emit0(n->token);    return n->token==F_ASSIGN; /* So when is this false? /mast */    } +  goto do_not_suboptimize_assign; +     case F_SOFT_CAST:    /* a = [type]`oper(a,*) */    if( CAAR(n)->token == F_APPLY &&