POSIX_C_SOURCE
Matthew Dillon
dillon at apollo.backplane.com
Sat Aug 30 10:30:23 PDT 2003
This is precisely what I did a few days ago in DragonFly. The warnings
were getting annoying.
-Matt
Matthew Dillon
<dillon at backplane.com>
:
:On Sat, Aug 30, 2003 at 12:49:15PM -0400, Garrett Wollman wrote:
:> In article <20030830161813.GA28890 at 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 at student.uu.se
:_______________________________________________
:freebsd-stable at freebsd.org mailing list
:http://lists.freebsd.org/mailman/listinfo/freebsd-stable
:To unsubscribe, send any mail to "freebsd-stable-unsubscribe at freebsd.org"
:
More information about the freebsd-stable
mailing list