+2019-12-22 Bruno Haible <bruno@clisp.org>
+
+ 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.
+
2019-12-22 Bruno Haible <bruno@clisp.org>
localcharset: Update support for OpenBSD.
COUNT_LEADING_ZEROS (__builtin_clzl, _BitScanReverse, unsigned long int);
}
-#if HAVE_UNSIGNED_LONG_LONG_INT
/* Compute and return the number of leading zeros in X. */
COUNT_LEADING_ZEROS_INLINE int
count_leading_zeros_ll (unsigned long long int x)
COUNT_LEADING_ZEROS (__builtin_clzll, _BitScanReverse64,
unsigned long long int);
}
-#endif
_GL_INLINE_HEADER_END
+++ /dev/null
-# count-leading-zeros.m4 serial 2
-dnl Copyright (C) 2012-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_LEADING_ZEROS],
-[
- dnl We don't need (and can't compile) count_leading_zeros_ll
- dnl unless the type 'unsigned long long int' exists.
- AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT])
-])
Files:
lib/count-leading-zeros.c
lib/count-leading-zeros.h
-m4/count-leading-zeros.m4
Depends-on:
extern-inline
verify
configure.ac:
-gl_COUNT_LEADING_ZEROS
Makefile.am:
lib_SOURCES += count-leading-zeros.c
UINT_BIT, UINT_MAX, 1U);
TEST_COUNT_LEADING_ZEROS (count_leading_zeros_l, unsigned long int,
ULONG_BIT, ULONG_MAX, 1UL);
-#ifdef HAVE_UNSIGNED_LONG_LONG_INT
TEST_COUNT_LEADING_ZEROS (count_leading_zeros_ll, unsigned long long int,
ULLONG_BIT, ULLONG_MAX, 1ULL);
-#endif
return 0;
}