Date: Thu, 22 Aug 2002 16:53:09 +0200 From: Erik Trulsson <ertr1013@student.uu.se> To: Eugene Grosbein <eugen@grosbein.pp.ru> Cc: stable@freebsd.org Subject: Re: /usr/include/stdlib.h:110: warning: ANSI C does not support `long long' Message-ID: <20020822145308.GA11197@falcon.midgard.homeip.net> In-Reply-To: <20020822223657.A364@grosbein.pp.ru> References: <20020822223657.A364@grosbein.pp.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Aug 22, 2002 at 10:36:57PM +0800, Eugene Grosbein wrote: > Hi! > > I used to maintain some projects written in C at the age of FreeBSD 3.x. > Programs used to build silently, without any warning on FreeBSD 3.x and > early 4.x releases using 'gcc -ansi -pedantic -Wall'. > > Now I get lots of warning in system includes. For example, in <stdlib.h>: > > #include <stdio.h> > #include <stdlib.h> > > int main(void) > { > calloc(10,1024*1024); > return 0; > } > > /* EOF */ > > # gcc -ansi -pedantic -Wall test.c > In file included from test.c:4: > /usr/include/stdlib.h:110: warning: ANSI C does not support `long long' > /usr/include/stdlib.h:114: warning: ANSI C does not support `long long' > > Why? Because gcc no longer treats the header files in /usr/include specially. It used to suppress warnings from system headers but no longer treats them as system headers. I don't know why this change was made but it was made. The warning is technically correct but you can ignore it. (stdlib.h does use 'long long' and the original C standard did not have long long, but since the new C standard does support long long it is not much of a problem if it is used.) To get rid of it either stop using -pedantic or add -Wno-long-long to the invocation of gcc. (Or you can do as I did, and patch gcc to no longer produce warnings about 'long long' unless specifically requested by -Wlong-long . The following patch will do this: Index: contrib/gcc/c-decl.c =================================================================== RCS file: /ncvs/src/contrib/gcc/c-decl.c,v retrieving revision 1.1.1.4.2.3 diff -u -r1.1.1.4.2.3 c-decl.c --- contrib/gcc/c-decl.c 21 Jun 2002 22:38:03 -0000 1.1.1.4.2.3 +++ contrib/gcc/c-decl.c 8 Jul 2002 06:58:21 -0000 @@ -491,7 +491,7 @@ /* Nonzero means warn about usage of long long when `-pedantic'. */ -int warn_long_long = 1; +int warn_long_long = 0; /* Nonzero means message about use of implicit function declarations; 1 means warning; 2 means error. */ -- <Insert your favourite quote here.> Erik Trulsson ertr1013@student.uu.se To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020822145308.GA11197>