pike.git / src / program.c

version» Context lines:

pike.git/src/program.c:5778:    /* Hide the overloaded inherited symbol. */    IDENTIFIERP(n)->id_flags |= ID_STATIC|ID_PRIVATE|ID_USED;    }    }       if (flags & ID_EXTERN) {    run_time_type = PIKE_T_FREE;    } else {    run_time_type=compile_type_to_runtime_type(type);    +  /* FIXME: Shouldn't these special cases be +  * in compile_type_to_runtime_type()? +  */    switch(run_time_type)    {    case T_OBJECT:    /* Make place for the object subtype. */    case T_FUNCTION:    no_this = 1;    /* FALL_THROUGH */    case T_PROGRAM:    run_time_type = T_MIXED;    break;    case T_INT:    run_time_type = T_MIXED; -  INT_TYPE amin = CAR_TO_INT(type), amax = CDR_TO_INT(type); -  if( amin > MIN_INT32 && amax < MAX_INT32 ) +  INT_TYPE int_range[] = { MAX_INT32, MIN_INT32 }; +  if (get_int_type_range(type, int_range) && +  (int_range[0] > MIN_INT32) && (int_range[1] < MAX_INT32) ) {    run_time_type = T_INT;    }    } -  +  }       n=low_define_variable(name,type,flags,    low_add_storage(sizeof_variable(run_time_type),    alignof_variable(run_time_type),0),    run_time_type);       if( no_this )    ID_FROM_INT(Pike_compiler->new_program, n)->identifier_flags |= IDENTIFIER_NO_THIS_REF;       return n;