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: Neil Booth <neil at daikokuya dot co dot uk>
- To: Philippe RIBET <philippe_ribet at hotmail dot com>
- Cc: 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 11:11:06 +0100
- Subject: Re: preprocessor/8139: Bad new INT64_C macro
- References: <F128w7X2KhLZgPLJkig00010ccd@hotmail.com>
Philippe RIBET wrote:-
> >I suspect the warnings are correct, but new, and that the definition
> of the macro is unchanged.
> No, definition changed.
> No, warnings are not correct as INT64_C(-3000000000) is valid code because
> -3000000000 is valid 64bits integer.
No, that's your misunderstanding. The integer is 300000000; the -
is an operator, and it is not 64 bit. It has type int.
> >You should probably add a U to the relevant numbers.
> ??? 'U' with negative numbers ???
>
> >Anyway, not a GCC bug.
> Is IS a GCC bug if you consider ANSI C99 standard.
I don't think so. You can fix your code like I suggested.
Neil.