pike.git / src / las.cmod

version» Context lines:

pike.git/src/las.cmod:3895:    if (f) {    struct pike_type *ret = new_get_return_type(f, 0);    free_type(f);    f = ret;    }       if (f && CAR(n)) {    /* Check that the returned type is compatible with the    * variable type.    */ -  if (!pike_types_le(f, CAR(n)->type, PT_FLAG_CMP_VOID_IS_ZERO, 0)) { +  if ((Pike_compiler->compiler_pass == COMPILER_PASS_LAST) && +  !pike_types_le(f, CAR(n)->type, PT_FLAG_CMP_VOID_IS_ZERO, 0)) {    /* a["b"]+=c and a->b+=c can be valid when a is an array.    *    * FIXME: Exactly what case is the problem?    * /grubba 2005-02-15    *    * Example:    * array tmp = ({([]),([])});    * tmp->foo += 7; // Multi-assign.    * /grubba 2007-04-27    */