This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH v2] manual: Document missing feature test macros.
- From: Rical Jasan <ricaljasan at pacific dot net>
- To: libc-alpha <libc-alpha at sourceware dot org>
- Cc: Joseph Myers <joseph at codesourcery dot com>, Michael Kerrisk <mtk dot manpages at gmail dot com>, Zack Weinberg <zackw at panix dot com>, Carlos O'Donell <carlos at redhat dot com>
- Date: Thu, 27 Jul 2017 20:43:05 -0700
- Subject: [PATCH v2] manual: Document missing feature test macros.
- Authentication-results: sourceware.org; auth=none
Several feature test macros are documented in features.h but absent in
the manual, and some documented macros accept undocumented values.
This commit updates the manual to mention all the accepted macros,
along with any values that hold special meaning.
* manual/creature.texi (_POSIX_C_SOURCE): Document special
values of 199606L, 200112L, and 200809L.
(_XOPEN_SOURCE): Document special values of 600 and 700.
(_ISOC11_SOURCE): Document macro.
(_ATFILE_SOURCE): Likewise.
(_FORTIFY_SOURCE): Likewise.
---
Changes in v2:
* Refer to base editions of POSIX standards, and mention
supported subsequent bug-fix editions explicitly.
* Set @standards for _ATFILE_SOURCE and _FORTIFY_SOURCE to
GNU.
* Minor wording changes
* Rebase to master (post-88f9e739).
---
manual/creature.texi | 36 +++++++++++++++++++++++++++++++++++-
1 file changed, 35 insertions(+), 1 deletion(-)
diff --git a/manual/creature.texi b/manual/creature.texi
index 96f8ee0a0c..b8c194f87c 100644
--- a/manual/creature.texi
+++ b/manual/creature.texi
@@ -61,6 +61,20 @@ If you define this macro to a value greater than or equal to @code{199309L},
then the functionality from the 1993 edition of the POSIX.1b standard
(IEEE Standard 1003.1b-1993) is made available.
+If you define this macro to a value greater than or equal to
+@code{199506L}, then the functionality from the 1995 edition of the
+POSIX.1c standard (IEEE Standard 1003.1c-1995) is made available.
+
+If you define this macro to a value greater than or equal to
+@code{200112L}, then the functionality from the 2001 edition of the
+POSIX standard (IEEE Standard 1003.1-2001) is made available, as well
+as bug-fixes from the 2004 edition (IEEE Standard 1003.1-2004).
+
+If you define this macro to a value greater than or equal to
+@code{200809L}, then the functionality from the 2008 edition of the
+POSIX standard (IEEE Standard 1003.1-2008) is made available, as well
+as bug-fixes from the 2013 and 2016 editions.
+
Greater values for @code{_POSIX_C_SOURCE} will enable future extensions.
The POSIX standards process will define these values as necessary, and
@theglibc{} should support them some time after they become standardized.
@@ -87,7 +101,9 @@ available which are necessary for the X/Open Unix brand.
If the macro @code{_XOPEN_SOURCE} has the value @math{500} this includes
all functionality described so far plus some new definitions from the
-Single Unix Specification, @w{version 2}.
+Single Unix Specification, @w{version 2}. The value @math{600}
+includes definitions from the sixth revision, and @math{700} includes
+definitions from the seventh revision.
@end defvr
@defvr Macro _LARGEFILE_SOURCE
@@ -156,6 +172,11 @@ implementation of the new standard and to enable the new features the
macro @code{_ISOC99_SOURCE} should be defined.
@end defvr
+@defvr Macro _ISOC11_SOURCE
+@standards{C11, (none)}
+If this macro is defined, ISO C11 extensions to ISO C99 are included.
+@end defvr
+
@defvr Macro __STDC_WANT_LIB_EXT2__
@standards{ISO, (none)}
If you define this macro to the value @code{1}, features from ISO/IEC
@@ -209,6 +230,19 @@ enables those features even when the other options would otherwise
cause them to be disabled.
@end defvr
+@defvr Macro _ATFILE_SOURCE
+@standards{GNU, (none)}
+If this macro is defined, additional @code{*at} interfaces are
+included.
+@end defvr
+
+@defvr Macro _FORTIFY_SOURCE
+@standards{GNU, (none)}
+If this macro is defined to @math{1}, security hardening is added to
+various library functions. If defined to @math{2}, even stricter
+checks are applied.
+@end defvr
+
@defvr Macro _REENTRANT
@defvrx Macro _THREAD_SAFE
@standards{Obsolete, (none)}