X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Ftv%2Ffltcalc.c;h=d153b90b51f15f7b4398438751a19a4c80aa1452;hb=afbbc0b1ccd684c4c24bfd43d0f994123245f39f;hp=f840678184bdc9d60f08cc4b37a6f5d9ec794e25;hpb=27cff60a1cba82b7cc4cc2a7bd20f2bfb9f3e5f4;p=libfirm diff --git a/ir/tv/fltcalc.c b/ir/tv/fltcalc.c index f84067818..d153b90b5 100644 --- a/ir/tv/fltcalc.c +++ b/ir/tv/fltcalc.c @@ -1337,7 +1337,7 @@ fp_value *fc_get_plusinf(const ieee_descriptor_t *desc, fp_value *result) { result->desc.exponent_size = desc->exponent_size; result->desc.mantissa_size = desc->mantissa_size; result->desc.explicit_one = desc->explicit_one; - result->desc.clss = NORMAL; + result->desc.clss = INF; result->sign = 0; @@ -1434,11 +1434,10 @@ char *fc_print(const fp_value *val, char *buf, int buflen, unsigned base) { case FC_DEC: switch ((value_class_t)val->desc.clss) { case INF: - if (buflen >= 8 + val->sign) sprintf(buf, "%sINFINITY", val->sign ? "-":""); - else snprintf(buf, buflen, "%sINF", val->sign ? "-":NULL); + snprintf(buf, buflen, "%cINF", val->sign ? '-' : '+'); break; case NAN: - snprintf(buf, buflen, "NAN"); + snprintf(buf, buflen, "NaN"); break; case ZERO: snprintf(buf, buflen, "0.0"); @@ -1457,8 +1456,7 @@ char *fc_print(const fp_value *val, char *buf, int buflen, unsigned base) { case FC_HEX: switch ((value_class_t)val->desc.clss) { case INF: - if (buflen >= 8+val->sign) sprintf(buf, "%sINFINITY", val->sign?"-":""); - else snprintf(buf, buflen, "%sINF", val->sign?"-":NULL); + snprintf(buf, buflen, "%cINF", val->sign ? '-' : '+'); break; case NAN: snprintf(buf, buflen, "NAN"); @@ -1489,7 +1487,7 @@ unsigned char fc_sub_bits(const fp_value *value, unsigned num_bits, unsigned byt /* this is used to cache the packed version of the value */ static char *packed_value = NULL; - if (packed_value == NULL) packed_value = xmalloc(value_size); + if (packed_value == NULL) packed_value = XMALLOCN(char, value_size); if (value != NULL) pack(value, packed_value);