summaryrefslogtreecommitdiff
path: root/gnulib/doc/posix-headers/stdint.texi
diff options
context:
space:
mode:
Diffstat (limited to 'gnulib/doc/posix-headers/stdint.texi')
m---------gnulib0
-rw-r--r--gnulib/doc/posix-headers/stdint.texi72
2 files changed, 72 insertions, 0 deletions
diff --git a/gnulib b/gnulib
deleted file mode 160000
-Subproject 443bc5ffcf7429e557f4a371b0661abe98ddbc1
diff --git a/gnulib/doc/posix-headers/stdint.texi b/gnulib/doc/posix-headers/stdint.texi
new file mode 100644
index 0000000..be19269
--- /dev/null
+++ b/gnulib/doc/posix-headers/stdint.texi
@@ -0,0 +1,72 @@
+@node stdint.h
+@section @file{stdint.h}
+
+POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/basedefs/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.11, IRIX 6.5, OSF/1 5.1, MSVC 9, 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.
+@item
+The values of @code{INT8_MAX}, @code{UINT8_MAX} etc. are not usable in
+preprocessor expressions on some platforms:
+HP-UX 11.23.
+@item
+The macros @code{WCHAR_MIN} and @code{WCHAR_MAX} are not defined in
+@code{<stdint.h>} (only in @code{<wchar.h>}) on some platforms:
+Dragonfly, BSDI.
+@item
+On some hosts that predate C++11, when using C++ one must define
+@code{__STDC_CONSTANT_MACROS} to make visible the definitions of
+constant macros such as @code{INTMAX_C}, and one must define
+@code{__STDC_LIMIT_MACROS} to make visible the definitions of limit
+macros such as @code{INTMAX_MAX}.
+@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