From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13873 invoked by alias); 7 Oct 2002 09:06:02 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 13858 invoked by uid 71); 7 Oct 2002 09:06:02 -0000 Date: Mon, 07 Oct 2002 02:06:00 -0000 Message-ID: <20021007090602.13857.qmail@sources.redhat.com> To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: "Philippe RIBET" Subject: Re: preprocessor/8139: Bad new INT64_C macro Reply-To: "Philippe RIBET" X-SW-Source: 2002-10/txt/msg00246.txt.bz2 List-Id: The following reply was made to PR preprocessor/8139; it has been noted by GNATS. From: "Philippe RIBET" To: gcc-gnats@gcc.gnu.org, gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org, nobody@gcc.gnu.org Cc: philippe_ribet@hotmail.com Subject: Re: preprocessor/8139: Bad new INT64_C macro Date: Mon, 07 Oct 2002 08:59:44 +0000 >What is the new definition? What is this macro? Old macro was: # if __WORDSIZE == 64 # define INT64_C(c) c ## L # else # define INT64_C(c) c ## LL # endif New macro is: #define INT64_C(val) (INT_LEAST64_MAX-INT_LEAST64_MAX+(val)) (in file include/stdint.h) This macro is part of ANSI C99 standard. It allows to specify integer constant size. >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. >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. http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=8139 -- Philippe Ribet _________________________________________________________________ Send and receive Hotmail on your mobile device: http://mobile.msn.com