From owner-freebsd-stable@FreeBSD.ORG Sat Aug 30 10:13:49 2003 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 18DA416A4BF for ; Sat, 30 Aug 2003 10:13:49 -0700 (PDT) Received: from falcon.midgard.homeip.net (h76n3fls20o913.bredband.comhem.se [213.67.148.76]) by mx1.FreeBSD.org (Postfix) with SMTP id 2C7CD43FBD for ; Sat, 30 Aug 2003 10:13:47 -0700 (PDT) (envelope-from ertr1013@student.uu.se) Received: (qmail 38535 invoked by uid 1001); 30 Aug 2003 17:13:44 -0000 Date: Sat, 30 Aug 2003 19:13:43 +0200 From: Erik Trulsson To: Garrett Wollman Message-ID: <20030830171343.GA33800@falcon.midgard.homeip.net> Mail-Followup-To: Garrett Wollman , troy@twisted.net, stable@FreeBSD.org References: <20030830161813.GA28890@twisted.net> <200308301649.h7UGnF5H042361@khavrinen.lcs.mit.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200308301649.h7UGnF5H042361@khavrinen.lcs.mit.edu> User-Agent: Mutt/1.5.4i cc: stable@FreeBSD.org Subject: Re: POSIX_C_SOURCE X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 30 Aug 2003 17:13:49 -0000 On Sat, Aug 30, 2003 at 12:49:15PM -0400, Garrett Wollman wrote: > In article <20030830161813.GA28890@twisted.net> you write: > > >Any chance that someone will finally commit the fixes to prevent the > >POSIX_C_SOURCE warnings from showing up? I saw a number of posts on this > >topic, but it still seems like it's not "officially committed" > > >/usr/include/sys/cdefs.h:273: warning: `_POSIX_C_SOURCE' is not defined > >/usr/include/sys/cdefs.h:279: warning: `_POSIX_C_SOURCE' is not defined > > The warnings are wrong,[1] so you should probably ask the GCC people > about that. The warnings are not wrong (see below), but anyway, since -stable uses the "ancient" GCC 2.95.4, the GCC people are not likely to give a damn in either case. They usually don't care about the older releases. > > -GAWollman > > [1] That is to say, any identifier used in a preprocessor expression > (after macro expansion) is defined to have a value of zero, and GCC > should not be complaining about this. The code is correct, which is why GCC only gives a warning and not an error. Code looking like that are usually an indication of a programmer error though, so GCC is perfectly right in warning about it. This is similar to the compiler warning about unused variables, which isn't a bug either but often indicates a programmer mistake. To make gcc shut up, you can apply the following patch to cdefs.h which makes the warnings go away, without changing the semantics of the include file in any way. Index: cdefs.h =================================================================== RCS file: /ncvs/src/sys/sys/cdefs.h,v retrieving revision 1.28.2.8 diff -u -r1.28.2.8 cdefs.h --- cdefs.h 18 Sep 2002 04:05:13 -0000 1.28.2.8 +++ cdefs.h 29 Jan 2003 21:23:30 -0000 @@ -269,6 +269,8 @@ * Our macros begin with two underscores to avoid namespace screwage. */ +#ifdef _POSIX_C_SOURCE + /* Deal with IEEE Std. 1003.1-1990, in which _POSIX_C_SOURCE == 1. */ #if _POSIX_C_SOURCE == 1 #undef _POSIX_C_SOURCE /* Probably illegal, but beyond caring now. */ @@ -280,6 +282,8 @@ #undef _POSIX_C_SOURCE #define _POSIX_C_SOURCE 199209 #endif + +#endif /* _POSIX_C_SOURCE */ /* Deal with various X/Open Portability Guides and Single UNIX Spec. */ #ifdef _XOPEN_SOURCE -- Erik Trulsson ertr1013@student.uu.se