bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

assume that the compiler supports 'long long'


From: Bruno Haible
Subject: assume that the compiler supports 'long long'
Date: Sun, 22 Dec 2019 10:41:28 +0100
User-agent: KMail/5.1.3 (Linux/4.4.0-166-generic; KDE/5.18.0; x86_64; ; )

It's now time to assume that all compilers supported by Gnulib support
'long long':
  - 64-bit platforms are commonplace since 2004 approximately (namely x86_64),
  - ISO C11 ยง 6.2.5 specifies 'long long int'.
  - MSVC supports 'long long' since MSVC 14 (2015).

This shouldn't come as a surprise, since I've mentioned this plan already in
<https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00141.html>.


2019-12-22  Bruno Haible  <address@hidden>

        longlong: Mark module obsolete.
        * modules/longlong (Status, Notice): New sections.

        stdint: Assume that the compiler supports 'long long'.
        * lib/stdint.in.h (int64_t, uint64_t, intmax_t, uintmax_t, INT64_C,
        UINT64_C, INTMAX_C, UINTMAX_C): Assume HAVE_LONG_LONG_INT and
        HAVE_UNSIGNED_LONG_LONG_INT to be 1.
        * m4/stdint.m4 (gl_STDINT_H): Don't require AC_TYPE_LONG_LONG_INT,
        AC_TYPE_UNSIGNED_LONG_LONG_INT.
        * modules/stdint (Files): Remove longlong.m4.
        (Makefile.am): Don't substitute HAVE_LONG_LONG_INT,
        HAVE_UNSIGNED_LONG_LONG_INT.

        inttypes-incomplete: Assume that the compiler supports 'long long'.
        * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
        _SCNu64_PREFIX): Assume HAVE_LONG_LONG_INT and
        HAVE_UNSIGNED_LONG_LONG_INT to be 1.
        * m4/inttypes.m4 (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): Assume
        HAVE_LONG_LONG_INT to be 1.
        * modules/inttypes-incomplete (Makefile.am): Don't substitute
        HAVE_LONG_LONG_INT, HAVE_UNSIGNED_LONG_LONG_INT.

        malloca: Assume that the compiler supports 'long long'.
        * lib/malloca.h: Assume HAVE_LONG_LONG_INT to be 1.
        * m4/malloca.m4 (gl_MALLOCA): Don't require AC_TYPE_LONG_LONG_INT.
        * modules/malloca (Files): Remove longlong.m4.
        * modules/relocatable-prog-wrapper (Files): Likewise.

        atoll: Assume that the compiler supports 'long long'.
        * m4/atoll.m4 (gl_FUNC_ATOLL): Don't require AC_TYPE_LONG_LONG_INT.
        * modules/atoll (Files): Remove longlong.m4.

        strtoll: Assume that the compiler supports 'long long'.
        * m4/strtoll.m4 (gl_FUNC_STRTOLL): Don't require AC_TYPE_LONG_LONG_INT.
        * modules/strtoll (Files): Remove longlong.m4.

        strtoull: Assume that the compiler supports 'long long'.
        * m4/strtoull.m4 (gl_FUNC_STRTOULL): Don't require
        AC_TYPE_UNSIGNED_LONG_LONG_INT.
        * modules/strtoull (Files): Remove longlong.m4.

        strtoimax, strtoumax: Assume that the compiler supports 'long long'.
        * lib/strtoimax.c: Assume HAVE_LONG_LONG_INT and
        HAVE_UNSIGNED_LONG_LONG_INT to be 1.
        * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Don't require
        AC_TYPE_LONG_LONG_INT.
        * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't require
        AC_TYPE_UNSIGNED_LONG_LONG_INT.
        * modules/strtoimax (Files): Remove longlong.m4.
        * modules/strtoumax (Files): Likewise.

        xstrtoll: Assume that the compiler supports 'long long'.
        * lib/xstrtol.h (xstrtoll, xstrtoull): Declare unconditionally.
        * modules/xstrtoll (configure.ac): Don't invoke AC_TYPE_LONG_LONG_INT.

        vasnprintf: Assume that the compiler supports 'long long'.
        * lib/printf-args.h: Assume HAVE_LONG_LONG_INT to be 1.
        * lib/printf-args.c (PRINTF_FETCHARGS): Likewise.
        * lib/printf-parse.c (PRINTF_PARSE): Likewise.
        * lib/vasnprintf.c (MAX_ROOM_NEEDED, VASNPRINTF): Likewise.
        * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Don't
        require AC_TYPE_LONG_LONG_INT.
        * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
        gl_PREREQ_VASNPRINTF): Likewise.
        * modules/vasnprintf (Files): Remove longlong.m4.
        * modules/c-vasnprintf (Files): Likewise.
        * modules/unistdio/u8-vasnprintf (Files): Likewise.
        * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
        * modules/unistdio/u16-vasnprintf (Files): Likewise.
        * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
        * modules/unistdio/u32-vasnprintf (Files): Likewise.
        * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
        * modules/unistdio/ulc-vasnprintf (Files): Likewise.

        gethrxtime: Assume that the compiler supports 'long long'.
        * lib/xtime.h (xtime_t): Define to 'long long int' always.
        (XTIME_PRECISION): Define to 1000000000 always.
        (xtime_make, xtime_sec): Optimize accordingly.
        * m4/gethrxtime.m4 (gl_XTIME): Don't require AC_TYPE_LONG_LONG_INT.
        * modules/gethrxtime (Files): Remove longlong.m4.

        integer_length*: Assume that the compiler supports 'long long'.
        * lib/integer_length.h (integer_length_ll): Declare unconditionally.
        * modules/integer_length (Files): Remove longlong.m4.
        (configure.ac): Don't require AC_TYPE_UNSIGNED_LONG_LONG_INT.
        * modules/integer_length_l (Files): Remove longlong.m4.
        (configure.ac): Don't require AC_TYPE_UNSIGNED_LONG_LONG_INT.
        * modules/integer_length_ll (Files): Remove longlong.m4.
        (configure.ac): Don't require AC_TYPE_UNSIGNED_LONG_LONG_INT.

        count-one-bits: Assume that the compiler supports 'long long'.
        * lib/count-one-bits.h (count_one_bits_ll): Define unconditionally.
        * m4/count-one-bits.m4: Remove file.
        * modules/count-one-bits (Files): Remove it.
        (configure.ac): Don't invoke gl_COUNT_ONE_BITS.
        * tests/test-count-one-bits.c (main): Test count_one_bits_ll
        unconditionally.

        count-trailing-zeros: Assume that the compiler supports 'long long'.
        * lib/count-trailing-zeros.h (count_trailing_zeros_ll): Define
        unconditionally.
        * m4/count-trailing-zeros.m4: Remove file.
        * modules/count-trailing-zeros (Files): Remove it.
        (configure.ac): Don't invoke gl_COUNT_TRAILING_ZEROS.
        * tests/test-count-trailing-zeros.c (main): Test count_trailing_zeros_ll
        unconditionally.

        count-leading-zeros: Assume that the compiler supports 'long long'.
        * lib/count-leading-zeros.h (count_leading_zeros_ll): Define
        unconditionally.
        * m4/count-leading-zeros.m4: Remove file.
        * modules/count-leading-zeros (Files): Remove it.
        (configure.ac): Don't invoke gl_COUNT_LEADING_ZEROS.
        * tests/test-count-leading-zeros.c (main): Test count_leading_zeros_ll
        unconditionally.

Attachment: 0001-count-leading-zeros-Assume-that-the-compiler-support.patch
Description: Text Data

Attachment: 0002-count-trailing-zeros-Assume-that-the-compiler-suppor.patch
Description: Text Data

Attachment: 0003-count-one-bits-Assume-that-the-compiler-supports-lon.patch
Description: Text Data

Attachment: 0004-integer_length-Assume-that-the-compiler-supports-lon.patch
Description: Text Data

Attachment: 0005-gethrxtime-Assume-that-the-compiler-supports-long-lo.patch
Description: Text Data

Attachment: 0006-vasnprintf-Assume-that-the-compiler-supports-long-lo.patch
Description: Text Data

Attachment: 0007-xstrtoll-Assume-that-the-compiler-supports-long-long.patch
Description: Text Data

Attachment: 0008-strtoimax-strtoumax-Assume-that-the-compiler-support.patch
Description: Text Data

Attachment: 0009-strtoull-Assume-that-the-compiler-supports-long-long.patch
Description: Text Data

Attachment: 0010-strtoll-Assume-that-the-compiler-supports-long-long.patch
Description: Text Data

Attachment: 0011-atoll-Assume-that-the-compiler-supports-long-long.patch
Description: Text Data

Attachment: 0012-malloca-Assume-that-the-compiler-supports-long-long.patch
Description: Text Data

Attachment: 0013-inttypes-incomplete-Assume-that-the-compiler-support.patch
Description: Text Data

Attachment: 0014-stdint-Assume-that-the-compiler-supports-long-long.patch
Description: Text Data

Attachment: 0015-longlong-Mark-module-obsolete.patch
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]