about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--include/features.h2
-rw-r--r--manual/creature.texi21
3 files changed, 22 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index 25b8e1264d..d6adafa006 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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>
 
 	[BZ #20890]
diff --git a/include/features.h b/include/features.h
index 137a90b405..d22c32eee6 100644
--- a/include/features.h
+++ b/include/features.h
@@ -214,7 +214,7 @@
    define _DEFAULT_SOURCE.  */
 #if (defined _DEFAULT_SOURCE					\
      || (!defined __STRICT_ANSI__				\
-	 && !defined _ISOC99_SOURCE				\
+	 && !defined _ISOC99_SOURCE && !defined _ISOC11_SOURCE	\
 	 && !defined _POSIX_SOURCE && !defined _POSIX_C_SOURCE	\
 	 && !defined _XOPEN_SOURCE))
 # undef  _DEFAULT_SOURCE
diff --git a/manual/creature.texi b/manual/creature.texi
index fe7a7790a2..8876b2ab77 100644
--- a/manual/creature.texi
+++ b/manual/creature.texi
@@ -221,13 +221,20 @@ precedence.
 If you define this macro, most features are included apart 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
-without a separate feature test macro to control them.  Defining this
-macro, on its own and without using compiler options such as
-@option{-ansi} or @option{-std=c99}, has the same effect as not
-defining any feature test macros; defining it together with other
-feature test macros, or when options such as @option{-ansi} are used,
-enables those features even when the other options would otherwise
-cause them to be disabled.
+without a separate feature test macro to control them.
+
+Be aware that compiler options also affect included features:
+
+@itemize
+@item
+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
 
 @defvr Macro _ATFILE_SOURCE