mirror of
https://git.savannah.gnu.org/git/gnulib.git
synced 2025-08-17 12:41:05 +03:00
59 lines
1.8 KiB
Plaintext
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
|