Date: Sat, 30 Aug 2003 10:30:01 -0700 (PDT) From: Matthew Dillon <dillon@apollo.backplane.com> To: Erik Trulsson <ertr1013@student.uu.se> Cc: Garrett Wollman <wollman@khavrinen.lcs.mit.edu> Subject: Re: POSIX_C_SOURCE Message-ID: <200308301730.h7UHU1tn064002@apollo.backplane.com> References: <20030830161813.GA28890@twisted.net> <20030830171343.GA33800@falcon.midgard.homeip.net>
next in thread | previous in thread | raw e-mail | index | archive | help
This is precisely what I did a few days ago in DragonFly. The warnings were getting annoying. -Matt Matthew Dillon <dillon@backplane.com> : :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 : : : : :-- :<Insert your favourite quote here.> :Erik Trulsson :ertr1013@student.uu.se :_______________________________________________ :freebsd-stable@freebsd.org mailing list :http://lists.freebsd.org/mailman/listinfo/freebsd-stable :To unsubscribe, send any mail to "freebsd-stable-unsubscribe@freebsd.org" :
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200308301730.h7UHU1tn064002>