Google does not seem to shed any light on this topic - But the question is quite simple:
Is the FreeBSD (Or any BSD) CodeBase ANSI (c89) Compliant, or does it use c99, c11 or non-standard features like the Linux Kernel Does?
Google does not seem to shed any light on this topic - But the question is quite simple:
Is the FreeBSD (Or any BSD) CodeBase ANSI (c89) Compliant, or does it use c99, c11 or non-standard features like the Linux Kernel Does?
The guidelines presented in the FreeBSD Developers' Handbook encourage the developer to write portable code. For example, the suggestion (in 2.4. Compiling with cc) that the C programmer use compiler warnings to check for problems:
Generally, you should try to make your code as portable as possible, as otherwise you may have to completely rewrite the program later to get it to work somewhere else—and who knows what you may be using in a few years time?
% cc -Wall -ansi -pedantic -o foobar foobar.cThis will produce an executable foobar after checking foobar.c for standard compliance.
However the Committer's Guide does not make a point of requiring that contributions follow a given standard. The relevant points in that guide are social rather than technical, e.g.,
On the other hand, the FreeBSD Porter's Handbook does mention POSIX, as a goal (see 12.18. Use POSIX Standards).
All in all, because there is advice but no discussion of reviews to ensure compliance, their codebase will likely be "mostly" POSIX, but with exceptions due to the usual causes (error, opinion, etc).