From owner-freebsd-ports Sat Jun 29 23: 9:58 2002 Delivered-To: freebsd-ports@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B407A37B406 for ; Sat, 29 Jun 2002 23:09:53 -0700 (PDT) Received: from maild.telia.com (maild.telia.com [194.22.190.101]) by mx1.FreeBSD.org (Postfix) with ESMTP id DE56543E09 for ; Sat, 29 Jun 2002 23:09:51 -0700 (PDT) (envelope-from erikt@midgard.homeip.net) Received: from d1o913.telia.com (d1o913.telia.com [195.252.44.241]) by maild.telia.com (8.11.6/8.11.6) with ESMTP id g5U69o219419 for ; Sun, 30 Jun 2002 08:09:50 +0200 (CEST) Received: from falcon.midgard.homeip.net (h53n2fls20o913.telia.com [212.181.163.53]) by d1o913.telia.com (8.8.8/8.8.8) with SMTP id IAA21631 for ; Sun, 30 Jun 2002 08:09:49 +0200 (CEST) Received: (qmail 76202 invoked by uid 1001); 30 Jun 2002 06:09:48 -0000 Date: Sun, 30 Jun 2002 08:09:48 +0200 From: Erik Trulsson To: ports Cc: obrien@freebsd.org Subject: Re: mail/mutt-devel port & "ANSI C does not support long long" in /usr/include/stdlib.h Message-ID: <20020630060948.GA76168@falcon.midgard.homeip.net> Mail-Followup-To: ports , obrien@freebsd.org References: <20020630020344.GA23683@moo.holy.cow> <20020630051957.GA58539@falcon.midgard.homeip.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20020630051957.GA58539@falcon.midgard.homeip.net> User-Agent: Mutt/1.5.1i Sender: owner-freebsd-ports@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org On Sun, Jun 30, 2002 at 07:19:57AM +0200, Erik Trulsson wrote: > On Sat, Jun 29, 2002 at 10:03:44PM -0400, parv wrote: > > freebsd-stable/i386 version is 2002.06.27.13.03.33 and stdlib.h is > > 1.16.2.3, 2001.12.27.20.35.34. > > > > below is the warning that i currently get while compiling > > mail/mutt-devel for every cc command (which did not happen for > > previous version(s) of freebsd {4.6-rc to 4.6-prerelease})... > > > > > > cc -I/usr/local/include -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I../intl -I/include -I/usr/local/include/sasl -I/usr/local/include -I../ > > intl -Wall -pedantic -O -pipe -march=pentiumpro -c auth.c > > In file included from ../mutt.h:22, > > from auth.c:23: > > /usr/include/stdlib.h:108: warning: ANSI C does not support `long long' > > /usr/include/stdlib.h:112: warning: ANSI C does not support `long long' > > cc -I/usr/local/include -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I../intl -I/include -I/usr/local/include/sasl -I/usr/local/include -I../ > > intl -Wall -pedantic -O -pipe -march=pentiumpro -c auth_login.c > > In file included from ../mutt.h:22, > > from auth_login.c:21: > > /usr/include/stdlib.h:108: warning: ANSI C does not support `long long' > > /usr/include/stdlib.h:112: warning: ANSI C does not support `long long' > > ... > > > > > > ...how serious is it? is the problem related to either freebsd, > > mutt, or both? > > It is not serious and nothing to worry about. It is just gcc which > tries to be helpful and doesn't quite succeed. > > 'long long' is supported by gcc and it is in the latest C standard so > everything is actually OK. > The problem is just that the version of gcc in -stable does not know > about the latest version of the C standard and complains because 'long > long' was not in the previous standard. > > gcc was recently updated in -stable (from 2.95.3 to 2.95.4). I guess > one of the changes there is responsible for this warning starting to > appear. > [Following up to myself after having done a closer investigation] By looking at the source it seems that gcc is not supposed to be emitting this warning for system headers. Apparently /usr/include/stdlib.h is not treated as a system include file. I believe that the following change to contrib/gcc/cccp.c is responsible: @@ -4757,12 +4757,14 @@ is_system_include (filename) register char *filename; { +#ifndef FREEBSD_NATIVE struct file_name_list *searchptr; for (searchptr = first_system_include; searchptr; searchptr = searchptr->next) if (! strncmp (searchptr->fname, filename, strlen (searchptr->fname))) return searchptr->c_system_include_path + 1; +#endif return 0; } This seems to make all header files treated as non-system includes. What was the reason for this change? (I assume there is a good reason, I am just curious as to what that reason might be, as it is a bit annoying to get such warnings for every program compiled with -pedantic, even if the program itself is perfectly fine.) -- Erik Trulsson ertr1013@student.uu.se To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports" in the body of the message