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>
