mirror of git://sourceware.org/git/glibc.git
manual: Update _DEFAULT_SOURCE. [BZ #22862]
The description of the interplay between feature test macros and compiler options in the description of _DEFAULT_SOURCE is a little confusing, and dated, so clarify the situation, and don't assume a specific value for _DEFAULT_SOURCE. Also, _DEFAULT_SOURCE is supposed to be defined if none of the C/POSIX feature test macros are defined, but the condition was lacking a test for _ISOC11_SOURCE, so that is also addressed. [BZ #22862] * include/features.h: Add _ISOC11_SOURCE to test for whether to define _DEFAULT_SOURCE. * manual/creature.texi (_DEFAULT_SOURCE): Improve documentation.
This commit is contained in:
parent
999a6dab3e
commit
862b45026f
|
|
@ -1,3 +1,10 @@
|
||||||
|
2018-02-21 Rical Jasan <ricaljasan@pacific.net>
|
||||||
|
|
||||||
|
[BZ #22862]
|
||||||
|
* include/features.h: Add _ISOC11_SOURCE to test for whether to
|
||||||
|
define _DEFAULT_SOURCE.
|
||||||
|
* manual/creature.texi (_DEFAULT_SOURCE): Improve documentation.
|
||||||
|
|
||||||
2018-02-21 Florian Weimer <fweimer@redhat.com>
|
2018-02-21 Florian Weimer <fweimer@redhat.com>
|
||||||
|
|
||||||
[BZ #20890]
|
[BZ #20890]
|
||||||
|
|
|
||||||
|
|
@ -214,7 +214,7 @@
|
||||||
define _DEFAULT_SOURCE. */
|
define _DEFAULT_SOURCE. */
|
||||||
#if (defined _DEFAULT_SOURCE \
|
#if (defined _DEFAULT_SOURCE \
|
||||||
|| (!defined __STRICT_ANSI__ \
|
|| (!defined __STRICT_ANSI__ \
|
||||||
&& !defined _ISOC99_SOURCE \
|
&& !defined _ISOC99_SOURCE && !defined _ISOC11_SOURCE \
|
||||||
&& !defined _POSIX_SOURCE && !defined _POSIX_C_SOURCE \
|
&& !defined _POSIX_SOURCE && !defined _POSIX_C_SOURCE \
|
||||||
&& !defined _XOPEN_SOURCE))
|
&& !defined _XOPEN_SOURCE))
|
||||||
# undef _DEFAULT_SOURCE
|
# undef _DEFAULT_SOURCE
|
||||||
|
|
|
||||||
|
|
@ -221,13 +221,20 @@ precedence.
|
||||||
If you define this macro, most features are included apart from
|
If you define this macro, most features are included apart from
|
||||||
X/Open, LFS and GNU extensions: the effect is to enable features from
|
X/Open, LFS and GNU extensions: the effect is to enable features from
|
||||||
the 2008 edition of POSIX, as well as certain BSD and SVID features
|
the 2008 edition of POSIX, as well as certain BSD and SVID features
|
||||||
without a separate feature test macro to control them. Defining this
|
without a separate feature test macro to control them.
|
||||||
macro, on its own and without using compiler options such as
|
|
||||||
@option{-ansi} or @option{-std=c99}, has the same effect as not
|
Be aware that compiler options also affect included features:
|
||||||
defining any feature test macros; defining it together with other
|
|
||||||
feature test macros, or when options such as @option{-ansi} are used,
|
@itemize
|
||||||
enables those features even when the other options would otherwise
|
@item
|
||||||
cause them to be disabled.
|
If you use a strict conformance option, features beyond those from the
|
||||||
|
compiler's language version will be disabled, though feature test
|
||||||
|
macros may be used to enable them.
|
||||||
|
|
||||||
|
@item
|
||||||
|
Features enabled by compiler options are not overridden by feature
|
||||||
|
test macros.
|
||||||
|
@end itemize
|
||||||
@end defvr
|
@end defvr
|
||||||
|
|
||||||
@defvr Macro _ATFILE_SOURCE
|
@defvr Macro _ATFILE_SOURCE
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue