1
0
mirror of https://git.savannah.gnu.org/git/gnulib.git synced 2025-08-17 12:41:05 +03:00
Files
gnulib/doc/posix-headers/stdint.texi

59 lines
1.8 KiB
Plaintext

@node stdint.h
@section @file{stdint.h}
POSIX specification: @url{http://www.opengroup.org/susv3xbd/stdint.h.html}
Gnulib module: stdint
Portability problems fixed by Gnulib:
@itemize
@item
This header file is missing on some platforms:
OpenBSD 3.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Interix 3.5, BeOS.
@item
This header file is very incomplete on some platforms.
@item
The values of @code{SIG_ATOMIC_MIN} and @code{SIG_ATOMIC_MAX} are incorrect
on some platforms:
FreeBSD 6.2 / ia64.
@item
The value of @code{WINT_MAX} is incorrect on some platforms:
mingw.
@end itemize
Portability problems not fixed by Gnulib:
@itemize
@item
@code{@{uint,int@}_fast@{8,16,32,64@}_t} may not correspond to the fastest
types available on the system.
@item
Macros are used instead of typedefs.
@item
Some C preprocessors mishandle constants that do not fit in @code{long int}.
For example, as of 2007, Sun C mishandles @code{#if LLONG_MIN < 0} on
a platform with 32-bit @code{long int} and 64-bit @code{long long int}.
Some older preprocessors mishandle constants ending in @code{LL}.
To work around these problems, compute the value of expressions like
@code{LONG_MAX < LLONG_MAX} at @code{configure}-time rather than at
@code{#if}-time.
@end itemize
The stdint.h module uses @code{#include_next}. If you wish to install
the generated stdint.h file under another name, typically in order to
be able to use some of the types defined by stdint.h in your public
header file, you could use the following Makefile.am-snippet:
@example
BUILT_SOURCES += idn-int.h
DISTCLEANFILES += idn-int.h
nodist_include_HEADERS += idn-int.h
idn-int.h:
if test -n "$(STDINT_H)"; then \
sed -e s/include_next/include/ gl/stdint.h > idn-int.h; \
else \
echo '#include <stdint.h>' > idn-int.h; \
fi
@end example