Hash :
60e90236
Author :
Date :
2024-12-27T23:28:45
Rename module stdlib to stdlib-h. * modules/stdlib-h: Renamed from modules/stdlib. * modules/stdlib-h-tests: Renamed from modules/stdlib-tests. * modules/stdlib-h-c++-tests: Renamed from modules/stdlib-c++-tests. * tests/test-stdlib-h.c: Renamed from tests/test-stdlib.c. * tests/test-stdlib-h-c++.cc: Renamed from tests/test-stdlib-c++.cc. * tests/test-stdlib-h-c++2.cc: Renamed from tests/test-stdlib-c++2.cc. * doc/posix-headers/stdlib.texi: Update. * doc/posix-functions/exit.texi: Update. * modules/* (Depends-on): Update. * modules/stdlib: New file.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
@node stdlib.h
@section @file{stdlib.h}
POSIX specification:@* @url{https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/stdlib.h.html}
Gnulib module: stdlib-h, system-posix
@mindex stdlib-h
@mindex system-posix
Portability problems fixed by the Gnulib module @code{stdlib-h}:
@itemize
@item
The macros @code{EXIT_SUCCESS} and @code{EXIT_FAILURE} are not defined on
some platforms.
@item
Some platforms provide a @code{NULL} macro that cannot be used in arbitrary
expressions:
NetBSD 5.0
@item
Using the macro @code{MB_CUR_MAX} causes link errors on some platforms:
Android NDK r16.
@item
The value of @code{MB_CUR_MAX} is too small (3 instead of 4) in UTF-8 locales
on some platforms:
Solaris 10.
@end itemize
Portability problems fixed by the Gnulib module @code{system-posix}:
@itemize
@item
The macros @code{WIFSIGNALED}, @code{WIFEXITED}, @code{WIFSTOPPED},
@code{WTERMSIG}, @code{WEXITSTATUS}, @code{WNOHANG}, @code{WUNTRACED},
@code{WSTOPSIG} are not defined in this header file (only in
@code{<sys/wait.h>}) on some platforms:
MirBSD 10.
@end itemize
Portability problems not fixed by Gnulib:
@itemize
@item
The definition of the type @code{once_flag}, of the macro
@code{ONCE_FLAG_INIT}, and the declaration of the function
@code{call_once}, that are required by ISO C 23, are not provided.
@mindex call_once
To get them, import Gnulib module @code{call_once} and include
@code{<threads.h>} rather than @code{<stdlib.h>}.
@item
System status macros such as @code{WEXITSTATUS} require an lvalue
argument on some platforms.
macOS 11.1.
@end itemize