This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: preprocessor/8139: Bad new INT64_C macro
- From: Richard Henderson <rth at redhat dot com>
- To: Neil Booth <neil at daikokuya dot co dot uk>
- Cc: Philippe RIBET <philippe_ribet at hotmail dot com>, gcc-gnats at gcc dot gnu dot org, gcc-prs at gcc dot gnu dot org, gcc-bugs at gcc dot gnu dot org, nobody at gcc dot gnu dot org
- Date: Mon, 7 Oct 2002 04:57:15 -0700
- Subject: Re: preprocessor/8139: Bad new INT64_C macro
- References: <F128w7X2KhLZgPLJkig00010ccd@hotmail.com> <20021007101748.GF22709@daikokuya.co.uk>
On Mon, Oct 07, 2002 at 11:17:48AM +0100, Neil Booth wrote:
> But what is defining this macro? GCC, or your system?
Gcc does not provide <stdint.h>; glibc does.
> I don't think it really matters, though.
It does, because...
> Remember that with the new macro the token does not have L or LL
> appended, and therefore has type int (before promotions) in an
> arithmetic expression. This is what is causing the warning -
> the integer is too big.
... the whole point of this excercise is to get proper typing
of these constants. If "int" is 64-bit, for instance, then you
most certainly do not want L or LL appended.
It's a glibc bug.
r~