Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 17 Jan 2009 13:21:44 +1000
From:      Da Rock <>
Subject:   Re: Freebsd standards compliance
Message-ID:  <>
In-Reply-To: <87primralp.fsf@kobe.laptop>
References:  <> <87primralp.fsf@kobe.laptop>

Next in thread | Previous in thread | Raw E-Mail | Index | Archive | Help
On Sat, 2009-01-17 at 03:21 +0200, Giorgos Keramidas wrote:
> On Sat, 17 Jan 2009 10:03:39 +1000, Da Rock <> wrote:
> > According to wikipedia Freebsd is only mostly compliant with POSIX, yet
> > BSD/OS is fully- why would this be?
> There are parts of FreeBSD that are deliberately "BSD compliant" instead
> of POSIX compliant, because this is how they traditionally worked.  I am
> not a standards' expert, so if you want more details it may be better to
> ask by email to the freebsd-standards mailing list.
> > From what I can tell ANSI C is the standard, and POSIX is an
> > implementation(?) of that standard (threads, i/o, etc)? Which version of
> > these standards is Freebsd at- c89, c90, c99, POSIX 1(b,c, etc)?
> ISO/IEC 9899:1999 is the standard for the C programming language (ANSI C
> is a bit ambiguous, because it may refer to an older standard depending
> on the context).
> This standard has a non-zero intersection with more than one standard of
> the IEEE 1003 series (what is commonly referred to as "POSIX"), but they
> are not the same, and it is nto correct to say that one of them is just
> an `implementation' of the other.
> There is a bit of information about 'c89', 'c90' and 'ANSI C' in the
> Texinfo manual of GCC.  It may help clarify some of the terms:
>     % info '(gcc)'
> and look at the ``Language Standards Supported by GCC'' section.
> Most of FreeBSD compiles in 'c90' mode.  There are a few parts of the
> kernel and userland source that use GCC extensions.  There are also
> parts that use C99 features, i.e. (a) declaration of local variables in
> the block they are used, instead of the start of a function, (b) the C99
> syntax for partially initializing structures, and so on.
> Then there are ISO/IEC 9899:1999 features that are not available in the
> combination of GCC version and our system libraries.
> So you can't really say that the entire FreeBSD source is `at c90' or
> `at c99'.
> The `FreeBSD C99 and POSIX Comformance Project' is an effort to work on
> these issues.  More information is available online at:

I'm glad I asked that and got the right answer otherwise I would have
started on the wrong preposition. That clarifies it for me nicely- I'll
have a look into those areas then... knowing my nature I'll probably
come back with a few more questions :P


Want to link to this message? Use this URL: <>