Re: bitpack search in bitsets

2020-11-17 Thread Akim Demaille
Bruno, > Le 17 nov. 2020 à 22:50, Bruno Haible a écrit : > > Hi Akim, > > In gnulib/lib/ssfmalloc-bitmap.h there is a function > > /* Returns the smallest index k >= 0 for which the bit packet of c consecutive > bits (1 <= c <= 32) is all set in the bitmap consisting of num_words words. >

Re: [PATCH 0/6] bitset: clean up, test, fix, accelerate

2020-11-17 Thread Akim Demaille
Hi Bruno, > Le 17 nov. 2020 à 22:42, Bruno Haible a écrit : > > Hi Akim, > >> The last commit fixes an error caught by the >> "strengthen tests" commit. I can easily commute them if we want to >> avoid "make check" failures in the history. > > Yes, please. Some people use 'git bisect'; theref

Re: [PATCH 5/5] bitset: use ffsl to accelerate iterations over set bits

2020-11-17 Thread Akim Demaille
Hi Bruno, > Le 18 nov. 2020 à 04:40, Bruno Haible a écrit : > > Hi Akim, > >>> Yes, assuming you did a quick check with the unit tests: >>> ./gnulib-tool --test --single-configure bitset >> >> Yes, I did run the test suite :) >> >> Installed. Thanks! > > A testdir of all of gnulib now shows

Re: [PATCH 5/5] bitset: use ffsl to accelerate iterations over set bits

2020-11-17 Thread Bruno Haible
Hi Akim, > > Yes, assuming you did a quick check with the unit tests: > > ./gnulib-tool --test --single-configure bitset > > Yes, I did run the test suite :) > > Installed. Thanks! A testdir of all of gnulib now shows 1 test failure: FAIL: test-bitset This is on a glibc system, x86_64, with

[PATCH] vcs-to-changelog: Expect spaces in file names

2020-11-17 Thread Siddhesh Poyarekar
Reported by Thierry Bothorel in , * build-aux/vcstocl/vcs_git.py (exec_git_cmd): Do not transform tabs to spaces. (list_changes): Use tabs to identify file names. --- Sorry, I did see it but forgot about

Re: GNULIB_POSIXCHECK and C++

2020-11-17 Thread Bruno Haible
Tom G. Christensen wrote: > > Generally, these C++ tests are supported on glibc systems with > > modern GCC. For testing Solaris 10, try passing the option > > '--without-c++-tests' to gnulib-tool. > > > > This does not seem to have any effect. > > I tried running gnulib-tool like this: > ./gnul

Fix error when GNULIB_POSIXCHECK is enabled

2020-11-17 Thread Bruno Haible
Compiling a testdir created with ./gnulib-tool --create-testdir --dir=../testdir1 --single-configure --with-c++-tests \ array-list avltreehash-list avltree-list carray-list linkedhash-list \ linked-list list rbtreehash-list rbtree-list sublist xlist xsublist list-c++ \ posixcheck strpbrk

Fix link errors on AIX

2020-11-17 Thread Bruno Haible
On AIX, a full gnulib testdir fails to link a couple of test programs: test-getumask test-supersede test-term-style-control-hello test-term-style-control-yes test-nonblocking-pipe-main test-nonblocking-socket-main test-spawn-pipe-main test-pipe-filter-gi1 test-pipe-filter-gi2-main

bitpack search in bitsets

2020-11-17 Thread Bruno Haible
Hi Akim, In gnulib/lib/ssfmalloc-bitmap.h there is a function /* Returns the smallest index k >= 0 for which the bit packet of c consecutive bits (1 <= c <= 32) is all set in the bitmap consisting of num_words words. Returns (size_t)(-1) if there is none. */ I can easily extend this to c

Re: [modules / vcs-to-changelog] Wrong filename path if spaces in file name.

2020-11-17 Thread Bruno Haible
Hi Siddhesh, Have you seen this report? In , Thierry Bothorel wrote: > Hi, > > this is a sample output I get: > > > 2020-05-03 THBO > > > > COMMIT: 1d02a74a93dfcb7822a0ddb1bb003db18fae4c72 > > Message sample. > > > > * Model

Re: [PATCH 0/6] bitset: clean up, test, fix, accelerate

2020-11-17 Thread Bruno Haible
Hi Akim, > The last commit fixes an error caught by the > "strengthen tests" commit. I can easily commute them if we want to > avoid "make check" failures in the history. Yes, please. Some people use 'git bisect'; therefore it's useful if there are no easily-avoidable "make check" failures in th

Re: Innocuous warnings

2020-11-17 Thread Paul Eggert
On 11/17/20 9:39 AM, Bruce Korb wrote: timespec.c:2:0: warning: "_GL_TIMESPEC_INLINE" redefined  #define _GL_TIMESPEC_INLINE _GL_EXTERN_INLINE Looks like config.h includes timespec.h. config.h shouldn't include other files, as a rule, so I'd fix that. I can't reproduce the problem because g

Re: Build errors on Solaris

2020-11-17 Thread Tom G. Christensen
On 16/11/2020 16:47, Bruno Haible wrote: Generally, these C++ tests are supported on glibc systems with modern GCC. For testing Solaris 10, try passing the option '--without-c++-tests' to gnulib-tool. This does not seem to have any effect. I tried running gnulib-tool like this: ./gnulib-tool

[PATCH 0/6] bitset: clean up, test, fix, accelerate

2020-11-17 Thread Akim Demaille
This is the continuation of the work prompted by Bruno's remark that bitset should use ffs (https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00052.html). I'm not fully done yet, but here is another batch of improvements/fixes. The last commit fixes an error caught by the "strengthen tests

[PATCH 6/6] bitset: fix iteration over table bitsets

2020-11-17 Thread Akim Demaille
* lib/bitset/table.c (tbitset_list): Update bitno when windex is. --- ChangeLog | 5 + lib/bitset/table.c | 5 +++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index f3df478d1..1aa7317a9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +

[PATCH 5/6] bitset: rename internal details for consistency

2020-11-17 Thread Akim Demaille
The "table" implementation used to called "expandable" (see https://lists.gnu.org/archive/html/bug-gnulib/2018-11/msg00096.html). Clean up remaining traces of "expandable". * lib/bitset/table.c: Rename all the EBITSET_ symbols as TBITSET_. --- ChangeLog | 5 + lib/bitset/table.c | 320

[PATCH 4/6] bitset: strengthen tests

2020-11-17 Thread Akim Demaille
* tests/test-bitset.c (compare): Also check count. Deal only with random values, move the one-bit tests to... (check_one_bit): this new function. (check_attributes): Call it. --- ChangeLog | 8 +++ tests/test-bitset.c | 165 +++- 2 files changed,

[PATCH 3/6] bitset: test: run deterministic tests on several bitset sizes

2020-11-17 Thread Akim Demaille
* tests/test-bitset.c (check_attributes): Run it with small and large sizes. --- ChangeLog | 6 ++ tests/test-bitset.c | 23 +-- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/ChangeLog b/ChangeLog index 1b3bcbc32..82b67f481 100644 --- a/ChangeL

[PATCH 2/6] bitset: use ffs where possible in the list implementation

2020-11-17 Thread Akim Demaille
* lib/bitset/list.c (lbitset_list): Use BITSET_FOR_EACH_BIT. --- ChangeLog | 5 +++ lib/bitset/list.c | 100 +++--- 2 files changed, 28 insertions(+), 77 deletions(-) diff --git a/ChangeLog b/ChangeLog index ba738c8c5..1b3bcbc32 100644 --- a/Chang

[PATCH 1/6] bitset: use ffs where possible in array implementation

2020-11-17 Thread Akim Demaille
* lib/bitset/array.c (abitset_small_list): Use BITSET_FOR_EACH_BIT. --- ChangeLog | 5 + lib/bitset/array.c | 46 +++--- 2 files changed, 20 insertions(+), 31 deletions(-) diff --git a/ChangeLog b/ChangeLog index c8f4ffaac..ba738c8c5 100644 --

Innocuous warnings

2020-11-17 Thread Bruce Korb
I'm prepping gnu-pw-mgr for a release and decided to scrutinize the build log. 1. timespec.c and timespec.h define _GL_TIMESPEC_INLINE 2. unistd.[ch] do the same thing for _GL_UNISTD_INLINE 3. unlocked-io.h define both {fread,fwrite}_unlocked, but so does /usr/include/bits/stdio.h timespec.