Minor change to silence complaints from cpp

Bruce Evans bde at zeta.org.au
Mon Oct 6 06:42:56 PDT 2003


On Mon, 6 Oct 2003, Jukka A. Ukkonen wrote:

> E.g. when compiling X-server cpp has been complaining about
> _POSIX_C_SOURCE not being defined. This was easily silenced
> with the following minor change...

This seems to be a bug or a feature in the X server's Makefile.  It
apparently uses -Wundef to generate warnings about the Standard C
feature of undefined identifiers having value 0 in cpp expressions.

> --- /usr/include/sys/cdefs.h.orig	Mon Oct  6 10:26:47 2003
> +++ /usr/include/sys/cdefs.h	Mon Oct  6 10:28:06 2003
> @@ -270,13 +270,13 @@
>   */
>
>  /* Deal with IEEE Std. 1003.1-1990, in which _POSIX_C_SOURCE == 1. */
> -#if _POSIX_C_SOURCE == 1
> +#if defined(_POSIX_C_SOURCE) && (_POSIX_C_SOURCE == 1)
>  #undef _POSIX_C_SOURCE		/* Probably illegal, but beyond caring now. */
>  #define	_POSIX_C_SOURCE		199009
>  #endif
>
>  /* Deal with IEEE Std. 1003.2-1992, in which _POSIX_C_SOURCE == 2. */
> -#if _POSIX_C_SOURCE == 2
> +#if defined(_POSIX_C_SOURCE) && (_POSIX_C_SOURCE == 2)
>  #undef _POSIX_C_SOURCE
>  #define	_POSIX_C_SOURCE		199209
>  #endif

I'd prefer not to uglify the system headers to support -Wundef.

Most warnings in system headers including ones from -Wundef can be
suppressed using -Wno-system-headers.  -Wno-system-headers is the FSF
default but FreeBSD reverses this.

Bruce


More information about the freebsd-bugs mailing list