about summary refs log tree commit diff
path: root/include/features.h
Commit message (Collapse)AuthorAgeFilesLines
* in public headers, don't assume pre-C99 compilers have __inline keywordQuentin Rameau2016-12-161-0/+2
|
* add _DEFAULT_SOURCE feature profile as an alias for _BSD_SOURCERich Felker2014-09-101-0/+4
| | | | | | | | | | | | | | | | | | | | | | | 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.
* fix _ALL_SOURCE logic to avoid possible redefinition of _GNU_SOURCERich Felker2014-09-101-1/+1
| | | | | this could be an error if _GNU_SOURCE was already defined differently by the application.
* add _ALL_SOURCE as an alias for _GNU_SOURCE/enable-everythingRich Felker2012-12-031-0/+4
| | | | | reportedly this is a semi-common practice among some BSDs and a few other systems, and will improve application compatibility.
* default features: make musl usable without feature test macrosRich Felker2012-09-071-1/+28
| | | | | | | | | | 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.
* initial check-in, version 0.5.0 v0.5.0Rich Felker2011-02-121-0/+1