diff options
author | Joseph Myers <joseph@codesourcery.com> | 2013-12-19 13:32:42 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2013-12-19 13:32:42 +0000 |
commit | c688b4196014e0162a1ff11120f6c9516be0c6cb (patch) | |
tree | cbd05e278192c66c63f6d79b26bb0c1e19d805d4 /ChangeLog | |
parent | 9f6e964c3a951b6e19ed934aec1f0c101c295987 (diff) | |
download | glibc-c688b4196014e0162a1ff11120f6c9516be0c6cb.tar glibc-c688b4196014e0162a1ff11120f6c9516be0c6cb.tar.gz glibc-c688b4196014e0162a1ff11120f6c9516be0c6cb.tar.bz2 glibc-c688b4196014e0162a1ff11120f6c9516be0c6cb.zip |
Add _DEFAULT_SOURCE feature test macro.
This patch adds a feature test macro _DEFAULT_SOURCE to enable the
default set of header declarations.
The intention is: if _DEFAULT_SOURCE is not used there is no change to
the set of __USE_* macros glibc defines; if it's used on its own, and
without compiler options such as -std=c99 that define __STRICT_ANSI__,
again, there is no change; if it's used together with the macros it
approximately (i.e., apart from __USE_POSIX_IMPLICITLY) implies
(-D_BSD_SOURCE -D_SVID_SOURCE -D_POSIX_C_SOURCE=200809L), again, there
is no change. Otherwise, it causes the relevant features to be
enabled, even if __STRICT_ANSI__, or another feature test macro, would
cause them to be disabled.
This macro deliberately bundles the POSIX.1-2008 (non-X/Open)
functionality with the BSD/SVID/"misc" functionality, rather than
defining a macro that gives just the latter, as many of the header
cleanups resulting from removing _BSD_SOURCE and _SVID_SOURCE support
are only possible when BSD/SVID/"misc" is always bundled with
POSIX.1-2008.
Tested x86_64.
* include/features.h: Update comment documenting feature test
macros. Mention _DEFAULT_SOURCE in comment.
[_GNU_SOURCE] (_DEFAULT_SOURCE): Undefine and redefine.
[_DEFAULT_SOURCE]: Undefine and redefine _DEFAULT_SOURCE,
_BSD_SOURCE and _SVID_SOURCE.
[!__STRICT_ANSI__ && !_ISOC99_SOURCE && !_POSIX_SOURCE &&
!_POSIX_C_SOURCE && !_XOPEN_SOURCE && !_BSD_SOURCE &&
!_SVID_SOURCE]: Likewise.
[_DEFAULT_SOURCE && !_POSIX_SOURCE && !_POSIX_C_SOURCE]
(__USE_POSIX_IMPLICITLY): Define.
[_DEFAULT_SOURCE && !_POSIX_SOURCE && !_POSIX_C_SOURCE]
(_POSIX_SOURCE): Undefine and redefine.
[_DEFAULT_SOURCE && !_POSIX_SOURCE && !_POSIX_C_SOURCE]
(_POSIX_C_SOURCE): Likewise.
* manual/creature.texi (_DEFAULT_SOURCE): Document.
(Feature Test Macros): Update documentation of default features.
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 19 |
1 files changed, 19 insertions, 0 deletions
@@ -1,3 +1,22 @@ +2013-12-19 Joseph Myers <joseph@codesourcery.com> + + * include/features.h: Update comment documenting feature test + macros. Mention _DEFAULT_SOURCE in comment. + [_GNU_SOURCE] (_DEFAULT_SOURCE): Undefine and redefine. + [_DEFAULT_SOURCE]: Undefine and redefine _DEFAULT_SOURCE, + _BSD_SOURCE and _SVID_SOURCE. + [!__STRICT_ANSI__ && !_ISOC99_SOURCE && !_POSIX_SOURCE && + !_POSIX_C_SOURCE && !_XOPEN_SOURCE && !_BSD_SOURCE && + !_SVID_SOURCE]: Likewise. + [_DEFAULT_SOURCE && !_POSIX_SOURCE && !_POSIX_C_SOURCE] + (__USE_POSIX_IMPLICITLY): Define. + [_DEFAULT_SOURCE && !_POSIX_SOURCE && !_POSIX_C_SOURCE] + (_POSIX_SOURCE): Undefine and redefine. + [_DEFAULT_SOURCE && !_POSIX_SOURCE && !_POSIX_C_SOURCE] + (_POSIX_C_SOURCE): Likewise. + * manual/creature.texi (_DEFAULT_SOURCE): Document. + (Feature Test Macros): Update documentation of default features. + 2013-12-19 Rajalakshmi Srinivasaraghavan <raji@linux.vnet.ibm.com> * benchtests/Makefile: Add bench-strtok. |