modules/stdint


Log

Author Commit Date CI Message
Bruno Haible 1bdc3263 2007-10-31T12:55:02 Ensure AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT are consistent.
Bruno Haible fe1cf2b9 2007-10-02T00:28:19 Rename stdint_.h to stdint.in.h.
Bruno Haible 89861a8b 2007-07-16T10:45:26 Use the synonymous term LGPLv2.
Paul Eggert b6a9d33e 2007-06-21T04:39:09 * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST INCLUDE_NEXT. (gl_CHECK_NEXT_HEADERS): New macro. * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of the obsolescent gl_ABSOLUTE_HEADER. * m4/float_h.m4 (gl_FLOAT_H): Likewise. * m4/inttypes.m4 (gl_INTTYPES_H): Likewise. * m4/math_h.m4 (gl_MATH_H): Likewise. * m4/search_h.m4 (gl_SEARCH_H): Likewise. * m4/signal_h.m4 (gl_SIGNAL_H): Likewise. * m4/stdint.m4 (gl_STDINT_H): Likewise. * m4/stdio_h.m4 (gl_STDIO_H): Likewise. * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise. * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise. * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise. * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise. * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise. * m4/unistd_h.m4 (gl_UNISTD_H): Likewise. * m4/wchar.m4 (gl_WCHAR_H): Likewise. * m4/wctype.m4 (gl_WCTYPE_H): Likewise. * m4/inttypes.m4 (gl_INTTYPES_H): Define _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean builds, since ABSOLUTE_INTTYPES_H is no longer being defined. * m4/stdint.m4 (gl_STDINT_H): Likewise, for _GL_JUST_INCLUDE_SYSTEM_STDINT_H. * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@ rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@. * lib/float_.h: Likewise. * lib/inttypes_.h: Likewise. * lib/math_.h: Likewise. * lib/search_.h: Likewise. * lib/signal_.h: Likewise. * lib/stdint_.h: Likewise. * lib/stdio_.h: Likewise. * lib/stdlib_.h: Likewise. * lib/string_.h: Likewise. * lib/sys_stat_.h: Likewise. * lib/sys_time_.h: Likewise. * lib/time_.h: Likewise. * lib/unistd_.h: Likewise. * lib/wchar_.h: Likewise. * lib/wctype_.h: Likewise. * modules/fcntl (Depends-on): Depend on absolute-header, not include_next. (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H. * modules/float: Likewise. * modules/inttypes: Likewise. * modules/math: Likewise. * modules/search: Likewise. * modules/signal: Likewise. * modules/stdint: Likewise. * modules/stdio: Likewise. * modules/stdlib: Likewise. * modules/string: Likewise. * modules/sys_stat: Likewise. * modules/sys_time: Likewise. * modules/time: Likewise. * modules/unistd: Likewise. * modules/wchar: Likewise. * modules/wctype: Likewise. * modules/sys_stat: Change maintainer to "all". * modules/unistd: Likewise.
Paul Eggert ab681e53 2007-05-17T06:14:29 * lib/fcntl_.h: Prefer #include_next <foo.h> to #include @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@. This works better with GCC 4.2, which otherwise issues a lot of warnings. * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h: * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h: * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise. * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as it should no longer be needed. * lib/string_.h: Likewise. * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define. * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@. * modules/inttypes (inttypes.h): Likewise. * modules/math (math.h): Likewise. * modules/search (search.h): Likewise. * modules/signal (signal.h): Likewise. * modules/stdint (stdint.h): Likewise. * modules/stdio (stdio.h): Likewise. * modules/stdlib (stdlib.h): Likewise. * modules/string (string.h): Likewise. * modules/sys_time (sys/time.h): Likewise. * modules/time (time.h): Likewise. * modules/wchar (wchar.h): Likewise. * modules/wctype (wtype.h): Likewise.
Eric Blake 96f7b7d9 2007-01-16T16:31:23 * modules/fnmatch (Depends-on): Depend on wchar. * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>. * m4/fnmatch.m4: Likewise. * modules/mbchar (Makefile.am): Assume <wchar.h>. * m4/mbchar.m4: Likewise. * modules/mbswidth (Depends-on): Depend on wchar. * lib/mbswidth.c: Assume <wchar.h>. * m4/mbswidth.m4: Likewise. * modules/quotearg (Depends-on): Depend on wchar. * lib/quotearg.c: Assume <wchar.h>. * m4/quotearg.m4: Likewise. * modules/regex (Depends-on): Depend on wchar. * lib/regex_internal.h: Assume <wchar.h>. * m4/regex.m4: Likewise. * modules/stdint (Depends-on): Depend on wchar. * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>. * m4/stdint.m4: Likewise. * tests/test-stdint.c [HAVE_WINT_T]: Likewise. * modules/strftime (Depends-on): Depend on wchar. * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>. * modules/strtol (Depends-on): Depend on wchar. * lib/strtol.c: Assume <wchar.h>. * modules/wcwidth (Depends-on): Depend on wchar. * lib/wcwidth.h: Assume <wchar.h>. * m4/wcwidth.m4: Likewise.
Eric Blake 9f02eb5b 2006-12-26T18:42:09 * modules/absolute-header: New module. * modules/fcntl (Depends-on): Depend on it. * modules/inttypes (Depends-on): Likewise. * modules/stdint (Depends-on): Likewise. * modules/sys_stat (Depends-on): Likewise. * modules/wctype (Depends-on): Likewise. * MODULES.html.sh (Support for building libraries and executables): Document it.
Bruno Haible 5eeec029 2006-10-13T12:40:22 gnulib-tool now synthesizes the EXTRA_DIST line.
Paul Eggert 5895949a 2006-10-11T05:58:47 Port to Tandem NSK OSS, which has 64-bit signed int but at most 32-bit unsigned int. Problem reported by Matthew Woehlke in: http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html More generally, don't assume that 64-bit signed int is available if unsigned int is, and vice versa. * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on unsigned symbols, not on their signed counterparts. * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t): (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX): (UINT64_C, UINTMAX_C): Likewise. * lib/strtoimax.c (strtoll): Depend on signed symbols, not their unsigned counterparts. (Have_long_long, Unsigned): New macros. (Int): Renamed from INT. (strtoimax): Use the new macros. * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT and substitute HAVE_UNSIGNED_LONG_LONG_INT. * modules/inttypes (inttypes.h): Substitute HAVE_UNSIGNED_LONG_LONG_INT. * modules/stdint (stdint.h): Likewise. (Files): Add m4/ulonglong.m4.
Bruno Haible e8886c90 2006-10-07T14:54:51 Mark generated files as "DO NOT EDIT".
Jim Meyering 0f55f146 2006-09-08T12:26:34 Don't make generated files read-only. That would bother too many people. However, do retain the ability to work when targets are read-only: remove the destination and temporary files before writing them (when generated via sed or echo), or by using the -f option for both cp and mv commands. Suggestion to use -f from Paul Eggert. * modules/alloca-opt, modules/argz, modules/arpa_inet: * modules/byteswap, modules/configmake, modules/fcntl: * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes: * modules/localcharset, modules/netinet_in, modules/poll: * modules/stdbool, modules/stdint, modules/sys_select: * modules/sys_socket, modules/sys_stat, modules/sysexits:
Jim Meyering f110f8c4 2006-09-07T05:53:52 Fix global typo in last change: use chmod u-w, not chmod u-x. Spotted by Paul Eggert and Bruce Korb. * modules/alloca-opt, modules/argz, modules/arpa_inet: * modules/byteswap, modules/configmake, modules/fcntl: * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes: * modules/localcharset, modules/netinet_in, modules/poll: * modules/stdbool, modules/stdint, modules/sys_select: * modules/sys_socket, modules/sys_stat, modules/sysexits:
Jim Meyering d1aadab2 2006-09-06T21:58:00 Make generated files be read-only. * modules/alloca-opt (Makefile.am): Work also when $@ is read-only. Ensure that each generated file is now read-only. * modules/argz: Likewise. * modules/arpa_inet: Likewise. * modules/byteswap: Likewise. * modules/configmake: Likewise. * modules/fcntl: Likewise. * modules/fnmatch: Likewise. * modules/getopt: Likewise. * modules/glob: Likewise. * modules/inttypes: Likewise. * modules/netinet_in: Likewise. * modules/poll: Likewise. * modules/stdbool: Likewise. * modules/stdint: Likewise. * modules/sys_select: Likewise. * modules/sys_socket: Likewise. * modules/sys_stat: Likewise. * modules/sysexits: Likewise. * modules/localcharset: Same as above, but continue using temporary file named "t-$@" (why different?) rather than the "$@-t" used everywhere else. * modules/sysexits (Makefile.am): Replace literal occurrences of "sysexit.h" more readable, and more consistent, "$@".
Paul Eggert fe579ace 2006-08-28T20:42:17 * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]: Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else. * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define just before including <inttypes.h>, to avoid circular inclusion. * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here... * m4/stdint.m4 (gl_STDINT_H): ... from here. This undoes the most recent change to stdint.m4, since we're now addressing the problem in a different way. * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
Bruno Haible 81941926 2006-08-28T12:54:47 Rewritten inttypes module. New modules imaxabs, imaxdiv.
Paul Eggert 91182f18 2006-07-04T06:37:09 * m4/absolute-header.m4: Renamed from full-header-path.m4. This is to keep the terminology clean; POSIX talks about "absolute pathnames", not "full pathnames", but the GNU Coding Standards say to use "path" for something else; so use "absolute" to keep both sides happy. (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH. Set gl_absolute_header, not gl_full_header_path. Set gl_cv_absolute_<header>, not gl_full_path_<header>. Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>. All uses changed.
Paul Eggert 3965bf40 2006-07-02T06:49:07 Simplification rewrite for stdint module. * modules/inttypes (Depends-on): No longer depends on stdint. * modules/stdint (Description): Say more about assumptions. Say that the fast types might differ. Say macros are used. (Files): Remove m4/size_max.m4, m4/wchar_t.m4. Add m4/longlong.m4. (Makefile.am): Revise list of substituted symbols to match new stdint.m4. * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4. (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T. * tests/test-stdint.c (verify_same_types) [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that the code conforms to C99/C89. Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T. Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T. * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid possible collision with system files. (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined __STDC_CONSTANT_MACROS)]: Do not include, since we don't need WCHAR_MIN and WCHAR_MAX in this case. (<stddef.h>): Do not include; no longer needed. (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)). (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ && !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__) && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)). (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined __c99]: Define, to work around IRIX <stdint.h> incompatibility. (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ && !defined(__c99))]: Include in this case too, since it's harmless now. (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer dangerous to do so. (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) && @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>. (_STDINT_MIN, _STDINT_MAX): New macros. (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t): (uint64_t, int_least8_t, uint_least8_t, int_least16_t): (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t): (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t): (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t): (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now macros, not typedefs; this simplifies things quite a bit. Use long int for all types narrower than int64_t. (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C): Define in terms of long long int or int64_t or long int, not int64_t or int32_t. This saves some compile-time testing. (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX): (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX): (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX): (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX): (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX): (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN): (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX): (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX): (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN): (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX): (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX): (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX): undef any previous version and define our own version, for simplicity and consistency with the new macros for types. (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX): (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX): Simplify definitions by using _STDINT_MIN and _STDINT_MAX where appropriate. Rely on new symbols @PTRDIFF_T_SUFFIX@, @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@, @WINT_T_SUFFIX@ to keep things simple here. (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C): Simplify by assuming typical 8/16/32/64 host, since we're already doing that elsewhere anyway. Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@, and assume long long int is 64 bits if available. This speeds up 'configure'. * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60, but fix a bug, by requiring at least 64 bits. * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise. * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call AC_TYPE_LONG_LONG_INT. This macro is obsolete and will go soon. * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise. * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h changes. Make 2.59 a prerequisite. Check and substitute for HAVE_LONG_LONG_INT. Rely on Autoconf to check for stdint.h and inttypes.h. Do not use special include files; just use the defaults. Check for sys/inttypes.h and sys/bitypes.h in the usual way now. Remove no-longer-needed tests for HAVE_LONG_64BIT, HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t, uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t, int_least32_t, int_least64_t, uint_least8_t, uint_least16_t, uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t, int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t, uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX. Check for C99 conformance more strictly, by detecting bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9. On the other hand do not check for things that C99 does not require, e.g., int8_t. If a test isn't needed unless <stdint.h> isn't working, and is unlikely to be needed for any other reason, then don't do it unless <stdint.h> isn't working. Do not check for ptrdiff_t or size_t, since we assume C89 freestanding at least. Do not check for sig_atomic_t, wchar_t, or wint_t, since the code now does the right thing even if the types are not defined. Instead use: (gl_STDINT_TYPE_PROPERTIES): New macro. (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove. Don't bother testing whether <sys/types.h> clashes, as Autoconf does this for us now. All uses removed. (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND): (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2): (gl_CHECK_TYPE_SAME): Remove; no longer needed. (gl_STDINT_BITSIZEOF): Don't bother to check whether the type exists, since we'll return 0 anyway in that case. (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
Bruno Haible b17f7324 2006-06-26T17:27:53 Try harder to get WCHAR_MIN and WCHAR_MAX.
Bruno Haible ca228dfa 2006-06-16T13:29:51 Rewrite module 'stdint' to be fully autoconfiguring.
Bruno Haible 8dc4be82 2005-10-05T16:15:35 Relicense under LGPL.
Paul Eggert 9029f098 2005-07-22T22:04:12 * modules/alloca-opt (Makefile.am): Remove explicit dependency on $(ALLOCA_H), redundant through BUILT_SOURCES. * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H), redundant through BUILT_SOURCES. * modules/byteswap (Makefile.am): Remove explicit dependency on $(BYTESWAP_H), redundant through BUILT_SOURCES. * modules/fnmatch (Makefile.am): Remove explicit dependency on $(FNMATCH_H), redundant through BUILT_SOURCES. * modules/getopt (Makefile.am): Remove explicit dependency on $(GETOPT_H), redundant through BUILT_SOURCES. * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H), redundant through BUILT_SOURCES. * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H), redundant through BUILT_SOURCES. * modules/stdbool (Makefile.am): Remove explicit dependency on $(STDBOOL_H), redundant through BUILT_SOURCES. * modules/stdint (Makefile.am): Remove explicit dependency on $(STDINT_H), redundant through BUILT_SOURCES. * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES. Remove explicit dependency on $(SYSEXITS_H). Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
Bruno Haible 040948ed 2005-03-17T18:31:09 Rename HAVE_LONGLONG_64BIT to HAVE_LONG_LONG_64BIT.
Bruno Haible 5143f4e9 2004-09-22T15:11:04 Add a license tag to every module.
Bruno Haible 0077ab74 2004-09-08T12:43:11 New module 'stdint'.