c-common.c (signed_or_unsigned_type): Handle machine mode types which have no corresponding C type.

* c-common.c (signed_or_unsigned_type): Handle machine mode types
        which have no corresponding C type.
        * fold_const.c (target_isinf,target_isnan,target_negative): Update
        the representation of 64-bit doubles to work with 64-bit ints.

From-SVN: r45479
This commit is contained in:
Richard Henderson 2001-09-07 15:14:43 -07:00
parent 2fd7f0c1f8
commit 4a063bec6e
3 changed files with 31 additions and 10 deletions

View File

@ -1,7 +1,14 @@
2001-09-06 Aldy Hernandez <aldyh@redhat.com>
2001-09-07 Roman Lechtchinsky <rl@cs.tu-berlin.de>
* config/mips/mips.c (override_options): Do not override ISA when ABI
specified if MIPS_CPU_STRING_DEFAULT was specified.
* c-common.c (signed_or_unsigned_type): Handle machine mode types
which have no corresponding C type.
* fold_const.c (target_isinf,target_isnan,target_negative): Update
the representation of 64-bit doubles to work with 64-bit ints.
2001-09-07 Aldy Hernandez <aldyh@redhat.com>
* config/mips/mips.c (override_options): Do not override ISA when ABI
specified if MIPS_CPU_STRING_DEFAULT was specified.
2001-09-07 Richard Henderson <rth@redhat.com>
@ -111,7 +118,7 @@ Thu Sep 6 11:16:35 2001 Jeffrey A Law (law@cygnus.com)
2001-09-05 Ziemowit Laski <zlaski@apple.com>
* objc/objc-act.c (build_message_expr): If a class method cannot
* objc/objc-act.c (build_message_expr): If a class method cannot
be found, do not issue a warning if a corresponding instance
method exists in the root class.

View File

@ -2071,6 +2071,20 @@ signed_or_unsigned_type (unsignedp, type)
if (TYPE_PRECISION (type) == TYPE_PRECISION (widest_integer_literal_type_node))
return (unsignedp ? widest_unsigned_literal_type_node
: widest_integer_literal_type_node);
#if HOST_BITS_PER_WIDE_INT >= 64
if (TYPE_PRECISION (type) == TYPE_PRECISION (intTI_type_node))
return unsignedp ? unsigned_intTI_type_node : intTI_type_node;
#endif
if (TYPE_PRECISION (type) == TYPE_PRECISION (intDI_type_node))
return unsignedp ? unsigned_intDI_type_node : intDI_type_node;
if (TYPE_PRECISION (type) == TYPE_PRECISION (intSI_type_node))
return unsignedp ? unsigned_intSI_type_node : intSI_type_node;
if (TYPE_PRECISION (type) == TYPE_PRECISION (intHI_type_node))
return unsignedp ? unsigned_intHI_type_node : intHI_type_node;
if (TYPE_PRECISION (type) == TYPE_PRECISION (intQI_type_node))
return unsignedp ? unsigned_intQI_type_node : intQI_type_node;
return type;
}

View File

@ -821,10 +821,10 @@ target_isinf (x)
unsigned sign : 1;
unsigned exponent : 11;
unsigned mantissa1 : 20;
unsigned mantissa2;
unsigned mantissa2 : 32;
} little_endian;
struct {
unsigned mantissa2;
unsigned mantissa2 : 32;
unsigned mantissa1 : 20;
unsigned exponent : 11;
unsigned sign : 1;
@ -861,10 +861,10 @@ target_isnan (x)
unsigned sign : 1;
unsigned exponent : 11;
unsigned mantissa1 : 20;
unsigned mantissa2;
unsigned mantissa2 : 32;
} little_endian;
struct {
unsigned mantissa2;
unsigned mantissa2 : 32;
unsigned mantissa1 : 20;
unsigned exponent : 11;
unsigned sign : 1;
@ -901,10 +901,10 @@ target_negative (x)
unsigned sign : 1;
unsigned exponent : 11;
unsigned mantissa1 : 20;
unsigned mantissa2;
unsigned mantissa2 : 32;
} little_endian;
struct {
unsigned mantissa2;
unsigned mantissa2 : 32;
unsigned mantissa1 : 20;
unsigned exponent : 11;
unsigned sign : 1;