mirror of
https://git.savannah.gnu.org/git/gnulib.git
synced 2025-08-08 17:22:05 +03:00
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.
This commit is contained in:
@@ -1,5 +1,14 @@
|
|||||||
2019-12-22 Bruno Haible <bruno@clisp.org>
|
2019-12-22 Bruno Haible <bruno@clisp.org>
|
||||||
|
|
||||||
|
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'.
|
count-leading-zeros: Assume that the compiler supports 'long long'.
|
||||||
* lib/count-leading-zeros.h (count_leading_zeros_ll): Define
|
* lib/count-leading-zeros.h (count_leading_zeros_ll): Define
|
||||||
unconditionally.
|
unconditionally.
|
||||||
|
@@ -92,7 +92,6 @@ count_trailing_zeros_l (unsigned long int x)
|
|||||||
COUNT_TRAILING_ZEROS (__builtin_ctzl, _BitScanForward, unsigned long int);
|
COUNT_TRAILING_ZEROS (__builtin_ctzl, _BitScanForward, unsigned long int);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if HAVE_UNSIGNED_LONG_LONG_INT
|
|
||||||
/* Compute and return the number of trailing zeros in X. */
|
/* Compute and return the number of trailing zeros in X. */
|
||||||
COUNT_TRAILING_ZEROS_INLINE int
|
COUNT_TRAILING_ZEROS_INLINE int
|
||||||
count_trailing_zeros_ll (unsigned long long int x)
|
count_trailing_zeros_ll (unsigned long long int x)
|
||||||
@@ -100,7 +99,6 @@ count_trailing_zeros_ll (unsigned long long int x)
|
|||||||
COUNT_TRAILING_ZEROS (__builtin_ctzll, _BitScanForward64,
|
COUNT_TRAILING_ZEROS (__builtin_ctzll, _BitScanForward64,
|
||||||
unsigned long long int);
|
unsigned long long int);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
_GL_INLINE_HEADER_END
|
_GL_INLINE_HEADER_END
|
||||||
|
|
||||||
|
@@ -1,12 +0,0 @@
|
|||||||
# count-trailing-zeros.m4
|
|
||||||
dnl Copyright (C) 2013-2019 Free Software Foundation, Inc.
|
|
||||||
dnl This file is free software; the Free Software Foundation
|
|
||||||
dnl gives unlimited permission to copy and/or distribute it,
|
|
||||||
dnl with or without modifications, as long as this notice is preserved.
|
|
||||||
|
|
||||||
AC_DEFUN([gl_COUNT_TRAILING_ZEROS],
|
|
||||||
[
|
|
||||||
dnl We don't need (and can't compile) count_trailing_zeros_ll
|
|
||||||
dnl unless the type 'unsigned long long int' exists.
|
|
||||||
AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT])
|
|
||||||
])
|
|
@@ -4,13 +4,11 @@ Counts the number of trailing 0-bits in a word.
|
|||||||
Files:
|
Files:
|
||||||
lib/count-trailing-zeros.c
|
lib/count-trailing-zeros.c
|
||||||
lib/count-trailing-zeros.h
|
lib/count-trailing-zeros.h
|
||||||
m4/count-trailing-zeros.m4
|
|
||||||
|
|
||||||
Depends-on:
|
Depends-on:
|
||||||
extern-inline
|
extern-inline
|
||||||
|
|
||||||
configure.ac:
|
configure.ac:
|
||||||
gl_COUNT_TRAILING_ZEROS
|
|
||||||
|
|
||||||
Makefile.am:
|
Makefile.am:
|
||||||
lib_SOURCES += count-trailing-zeros.c
|
lib_SOURCES += count-trailing-zeros.c
|
||||||
|
@@ -68,10 +68,8 @@ main (int argc, char *argv[])
|
|||||||
UINT_BIT, UINT_MAX, 1U);
|
UINT_BIT, UINT_MAX, 1U);
|
||||||
TEST_COUNT_TRAILING_ZEROS (count_trailing_zeros_l, unsigned long int,
|
TEST_COUNT_TRAILING_ZEROS (count_trailing_zeros_l, unsigned long int,
|
||||||
ULONG_BIT, ULONG_MAX, 1UL);
|
ULONG_BIT, ULONG_MAX, 1UL);
|
||||||
#ifdef HAVE_UNSIGNED_LONG_LONG_INT
|
|
||||||
TEST_COUNT_TRAILING_ZEROS (count_trailing_zeros_ll, unsigned long long int,
|
TEST_COUNT_TRAILING_ZEROS (count_trailing_zeros_ll, unsigned long long int,
|
||||||
ULLONG_BIT, ULLONG_MAX, 1ULL);
|
ULLONG_BIT, ULLONG_MAX, 1ULL);
|
||||||
#endif
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user