History log of /seL4-refos-master/libs/libmuslc/include/features.h
Revision Date Author Comments
# bfcf5735 12-Dec-2016 Quentin Rameau <quinq@fifth.space>

in public headers, don't assume pre-C99 compilers have __inline keyword


# 5edbc6fe 09-Sep-2014 Rich Felker <dalias@aerifal.cx>

add _DEFAULT_SOURCE feature profile as an alias for _BSD_SOURCE

as a result of commit ab8f6a6e42ff893041f7545a23e6d6a0edde07fb, this
definition is now equivalent to the actual "default profile" which
appears immediately below in features.h, and which defines both
_BSD_SOURCE and _XOPEN_SOURCE.

the intent of providing a _DEFAULT_SOURCE, which glibc also now
provides, is to give applications a way to "get back" the default
feature profile when it was lost either by compiler flags that inhibit
it (such as -std=c99) or by library-provided predefined macros (such
as -D_POSIX_C_SOURCE=200809L) which may inhibit exposure of features
that were otherwise visible by default and which the application may
need. without _DEFAULT_SOURCE, the application had encode knowledge of
a particular libc's defaults, and such knowledge was fragile and
subject to bitrot.

eventually the names _GNU_SOURCE and _BSD_SOURCE should be phased out
in favor of the more-descriptive and more-accurate _ALL_SOURCE and
_DEFAULT_SOURCE, leaving the old names as aliases but using the new
ones internally. however this is a more invasive change that would
require extensive regression testing, so it is deferred.


# f929493c 09-Sep-2014 Rich Felker <dalias@aerifal.cx>

fix _ALL_SOURCE logic to avoid possible redefinition of _GNU_SOURCE

this could be an error if _GNU_SOURCE was already defined differently
by the application.


# b3175f5c 03-Dec-2012 Rich Felker <dalias@aerifal.cx>

add _ALL_SOURCE as an alias for _GNU_SOURCE/enable-everything

reportedly this is a semi-common practice among some BSDs and a few
other systems, and will improve application compatibility.


# c1a9658b 07-Sep-2012 Rich Felker <dalias@aerifal.cx>

default features: make musl usable without feature test macros

the old behavior of exposing nothing except plain ISO C can be
obtained by defining __STRICT_ANSI__ or using a compiler option (such
as -std=c99) that predefines it. the new default featureset is POSIX
with XSI plus _BSD_SOURCE. any explicit feature test macros will
inhibit the default.

installation docs have also been updated to reflect this change.


# 0b44a031 11-Feb-2011 Rich Felker <dalias@aerifal.cx>

initial check-in, version 0.5.0