diff options
-rw-r--r-- | ChangeLog | 2 | ||||
-rw-r--r-- | manual/creature.texi | 20 |
2 files changed, 17 insertions, 5 deletions
@@ -1,5 +1,7 @@ 1999-10-31 Ulrich Drepper <drepper@cygnus.com> + * manual/creature.texi (Feature Test Macros): Mention _ISOC99_SOURCE. + * includes/features.h: Replace __USE_ISOC9X by __USE_ISOC99 and also recognize _ISOC99_SOURCE. * libio/stdio.h: Likewise. diff --git a/manual/creature.texi b/manual/creature.texi index befea10..11061f9 100644 --- a/manual/creature.texi +++ b/manual/creature.texi @@ -26,12 +26,12 @@ functions with names that smaller ones reserve to the user program. This is not mere pedantry --- it has been a problem in practice. For instance, some non-GNU programs define functions named @code{getline} that have nothing to do with this library's @code{getline}. They would not be -compilable if all features were enabled indescriminantly. +compilable if all features were enabled indescriminantly. This should not be used to verify that a program conforms to a limited standard. It is insufficent for this purpose, as it will not protect you from including header files outside the standard, or relying on semantics -undefined within the standard. +undefined within the standard. @comment (none) @comment POSIX.1 @@ -195,10 +195,20 @@ This macro was introduced as part of the Large File Support extension @comment (none) @comment GNU +@defvr Macro _ISOC99_SOURCE +Until the revides @w{ISO C} standard is widely adopted the new features +are not automatically enabled. The GNU libc nevertheless has a complete +implementation of the new standard and to enable the new features the +macro @code{_ISOC99_SOURCE} should be defined. +@end defvr + +@comment (none) +@comment GNU @defvr Macro _GNU_SOURCE -If you define this macro, everything is included: @w{ISO C}, POSIX.1, -POSIX.2, BSD, SVID, X/Open, LFS, and GNU extensions. In the cases where -POSIX.1 conflicts with BSD, the POSIX definitions take precedence. +If you define this macro, everything is included: @w{ISO C89}, @w{ISO +C99}, POSIX.1, POSIX.2, BSD, SVID, X/Open, LFS, and GNU extensions. In +the cases where POSIX.1 conflicts with BSD, the POSIX definitions take +precedence. If you want to get the full effect of @code{_GNU_SOURCE} but make the BSD definitions take precedence over the POSIX definitions, use this |