pike.git / src / pike_types.c

version» Context lines:

pike.git/src/pike_types.c:2097:    continue;    }   #ifdef PIKE_DEBUG    if (char_type->type != T_INT) {    Pike_fatal("Invalid node type (%d:%s) in string type.\n",    char_type->type, get_name_of_type(char_type->type));    }   #endif /* PIKE_DEBUG */    min = CAR_TO_INT(char_type);    max = CDR_TO_INT(char_type); -  if (!min && max && !(max & (max+1))) { +  if (!min && max && max != MAX_INT32 && !(max & (max+1))) {    int j = 0;    while (max) {    max >>= 1;    j++;    }    fprintf(stderr, "%dbit", j);    } else {    if (min != MIN_INT32) {    fprintf(stderr, "%d", min);    }
pike.git/src/pike_types.c:2132:    fprintf(stderr, "$%c", s->type);    } else {   #ifdef PIKE_DEBUG    if (s->type != T_INT) {    Pike_fatal("Invalid node type (%d:%s) in string type.\n",    s->type, get_name_of_type(s->type));    }   #endif /* PIKE_DEBUG */    min = CAR_TO_INT(s);    max = CDR_TO_INT(s); -  if (!min && max && !(max & (max+1))) { +  if (!min && max && max != MAX_INT32 && !(max & (max+1))) {    int j = 0;    while (max) {    max >>= 1;    j++;    }    fprintf(stderr, "%dbit", j);    } else {    if (min != MIN_INT32) {    fprintf(stderr, "%d", min);    }
pike.git/src/pike_types.c:2303:    case T_VOID: my_strcat("void"); break;    case T_ZERO: my_strcat("zero"); break;    case T_MIXED: my_strcat("mixed"); break;    case PIKE_T_UNKNOWN: my_strcat("unknown"); break;    case T_INT:    {    INT32 min=CAR_TO_INT(t);    INT32 max=CDR_TO_INT(t);    my_strcat("int");    -  if (!min && max && !(max & (max+1))) { +  if (!min && max && max != MAX_INT32 && !(max & (max+1))) {    int j = 0;    while (max) {    max >>= 1;    j++;    }    sprintf(buffer, "(%dbit)", j);    my_strcat(buffer);    } else if(min!=MIN_INT32 || max!=MAX_INT32) {    sprintf(buffer,"(%ld..%ld)",(long)min,(long)max);    my_strcat(buffer);
pike.git/src/pike_types.c:2381:    while (t->type == T_OR) {    struct pike_type *char_type = t->car;    while(char_type->type == T_ASSIGN) {    char_type = char_type->cdr;    }    if (char_type->type != T_INT) {    low_describe_type(char_type);    } else {    min = CAR_TO_INT(char_type);    max = CDR_TO_INT(char_type); -  if (!min && max && !(max & (max+1))) { +  if (!min && max && max != MAX_INT32 && !(max & (max+1))) {    int j = 0;    while (max) {    max >>= 1;    j++;    }    sprintf(buffer, "%dbit", j);    my_strcat(buffer);    } else {    if (min != MIN_INT32) {    sprintf(buffer, "%d", min);
pike.git/src/pike_types.c:2412:    t = t->cdr;    }    while(t->type == T_ASSIGN) {    t = t->cdr;    }    if (t->type != T_INT) {    low_describe_type(t);    } else {    min = CAR_TO_INT(t);    max = CDR_TO_INT(t); -  if (!min && max && !(max & (max+1))) { +  if (!min && max && max != MAX_INT32 && !(max & (max+1))) {    int j = 0;    while (max) {    max >>= 1;    j++;    }    sprintf(buffer, "%dbit", j);    my_strcat(buffer);    } else {    if (min != MIN_INT32) {    sprintf(buffer, "%d", min);