Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 1 Sep 2003 12:17:13 +0930
From:      Malcolm Kay <malcolm.kay@internode.on.net>
To:        Garrett Wollman <wollman@khavrinen.lcs.mit.edu>, troy@twisted.net
Cc:        stable@freebsd.org
Subject:   Re: POSIX_C_SOURCE
Message-ID:  <200309011217.13428.malcolm.kay@internode.on.net>
In-Reply-To: <200308301649.h7UGnF5H042361@khavrinen.lcs.mit.edu>
References:  <200308301649.h7UGnF5H042361@khavrinen.lcs.mit.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 31 Aug 2003 02:19, 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 th=
is
> >topic, but it still seems like it's not "officially committed"
> >
> >/usr/include/sys/cdefs.h:273: warning: `_POSIX_C_SOURCE' is not define=
d
> >/usr/include/sys/cdefs.h:279: warning: `_POSIX_C_SOURCE' is not define=
d
>
> The warnings are wrong,[1] so you should probably ask the GCC people
> about that.
>
> -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 warnings are only wrong in your personal interpretation of right and=20
wrong. Many gcc options generate warnings with legal C source and this is=
=20
permitted by the C standard (whether or not it is controlled by a compile=
r=20
option) provided it does not prevent generation of correct code.

The warning is true: that is _POSIX_C_SOURCE is not defined (and is evalu=
ated
in an #if preprocessor statement).

The warning only appears when -Wundef option is used which relates=20
specifically to this circumstance. GCC people surely cannot be criticised=
=20
for an option that works precisely as documented.

No-one individually has it wrong.
The problem is one of incompatibility between the header files and the=20
compiler options selected. Since the compiler options are probably set fo=
r a=20
range of environments it is probably best to adapt the system header file=
s to=20
circumvent the difficulty.

Malcolm Kay



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200309011217.13428.malcolm.kay>