Re: POSIX_C_SOURCE

From: Matthew Dillon (dillon_at_apollo.backplane.com)
Date: 08/30/03

  • Next message: Erik Trulsson: "Re: POSIX_C_SOURCE"
    Date: Sat, 30 Aug 2003 10:30:01 -0700 (PDT)
    To: Erik Trulsson <ertr1013@student.uu.se>
    
    

        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"
    :

    _______________________________________________
    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"


  • Next message: Erik Trulsson: "Re: POSIX_C_SOURCE"

    Relevant Pages

    • Re: 2.6.5-rc1-tiny1 for small systems
      ... > This is the latest release of the -tiny kernel tree. ... looks like my gcc does not like ... Now, actual warnings for eisa-bus.c, followed by .config ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • Re: how to cast from (void*) to other types?
      ... warnings using gcc, I get no warnings. ... If not you are either not doing what you say or you are using a broken version of gcc. ... The reason I know that all working version of gcc produce a warning or error for the code you've described is that integer types, such as int, are not assignment compatible with pointers of any type, so for a compiler to conform to the standard it is *required* to produce a diagnostic and the code is *not* required to work even if you add in a cast to shut the compiler up. ...
      (comp.lang.c)
    • Re: howto get rid of pointer arguments differ in signedness
      ... Since the code Over the past decade or so, gcc ... Why is this warning different from any of the other warnings that gcc ... modify the compiler settings such that it is never displayed anymore. ... to fix it. ...
      (comp.os.linux.development.apps)
    • Re: POSIX_C_SOURCE
      ... > is defined to have a value of zero, and GCC ... Many gcc options generate warnings with legal C source and this is ... The problem is one of incompatibility between the header files and the ... compiler options selected. ...
      (freebsd-stable)
    • Re: K&R2 section 2.7 type conversions (exercise)
      ... fix the errors and warnings gcc is reporting. ... arrays to functions, how to match prototype with function definition, ... declaring objects before trying to use them and scope of various types ...
      (comp.lang.c)