c-lex.c (yylex): Replace warning about integer constants being larger than long-longs...

* c-lex.c (yylex): Replace warning about integer constants being
	larger than long-longs, with a warning about integer constants
        being larger than the largest target integer.

From-SVN: r25364
This commit is contained in:
Gavin Romig-Koch 1999-02-22 08:18:56 +00:00 committed by Gavin Romig-Koch
parent e9c0315e10
commit e2e0986eb0
2 changed files with 14 additions and 8 deletions

View File

@ -1,3 +1,9 @@
Mon Feb 22 10:55:00 1999 Gavin Romig-Koch <gavin@cygnus.com>
* c-lex.c (yylex): Replace warning about integer constants being
larger than long-longs, with a warning about integer constants
being larger than the largest target integer.
Fri Feb 19 18:18:56 1999 Don Bowman <don@pixstream.com>
* configure.in (mips*-*-vxworks*): Enable gthreads vxworks support.

View File

@ -1698,15 +1698,15 @@ yylex ()
c = GETC();
}
/* If the constant won't fit in an unsigned long long,
then warn that the constant is out of range. */
/* If the constant won't fit in the targets widest int,
or it won't fit in the host's representation for ints,
then warn that the constant is out of range. */
/* ??? This assumes that long long and long integer types are
a multiple of 8 bits. This better than the original code
though which assumed that long was exactly 32 bits and long
long was exactly 64 bits. */
bytes = TYPE_PRECISION (long_long_integer_type_node) / 8;
#if HOST_BITS_PER_WIDE_INT >= 64
bytes = TYPE_PRECISION (intTI_type_node) / HOST_BITS_PER_CHAR;
#else
bytes = TYPE_PRECISION (intDI_type_node) / HOST_BITS_PER_CHAR;
#endif
warn = overflow;
for (i = bytes; i < TOTAL_PARTS; i++)