* manual/creature.texi (Feature Test Macros): Mention _ISOC99_SOURCE.
This commit is contained in:
Ulrich Drepper 1999-10-31 18:04:47 +00:00
parent 592d2832b2
commit b4cbd37109
2 changed files with 17 additions and 5 deletions

View File

@ -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.

View File

@ -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
@ -193,12 +193,22 @@ This macro was introduced as part of the Large File Support extension
(LFS).
@end defvr
@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