Commit 00b4820c authored by Bruno Haible's avatar Bruno Haible
Browse files

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.
parent 0dfa3015
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'.
* lib/count-leading-zeros.h (count_leading_zeros_ll): Define
unconditionally.
......@@ -92,7 +92,6 @@ count_trailing_zeros_l (unsigned long int x)
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. */
COUNT_TRAILING_ZEROS_INLINE int
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,
unsigned long long int);
}
#endif
_GL_INLINE_HEADER_END
......
# 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:
lib/count-trailing-zeros.c
lib/count-trailing-zeros.h
m4/count-trailing-zeros.m4
Depends-on:
extern-inline
configure.ac:
gl_COUNT_TRAILING_ZEROS
Makefile.am:
lib_SOURCES += count-trailing-zeros.c
......
......@@ -68,10 +68,8 @@ main (int argc, char *argv[])
UINT_BIT, UINT_MAX, 1U);
TEST_COUNT_TRAILING_ZEROS (count_trailing_zeros_l, unsigned long int,
ULONG_BIT, ULONG_MAX, 1UL);
#ifdef HAVE_UNSIGNED_LONG_LONG_INT
TEST_COUNT_TRAILING_ZEROS (count_trailing_zeros_ll, unsigned long long int,
ULLONG_BIT, ULLONG_MAX, 1ULL);
#endif
return 0;
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment