Skip site navigation (1)Skip section navigation (2)
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>