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.
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)
COUNT_TRAILING_ZEROS (__builtin_ctzll, _BitScanForward64,
unsigned long long int);
}
-#endif
_GL_INLINE_HEADER_END
+++ /dev/null
-# 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])
-])
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
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;
}