On Sat, 10 Jul 2021, Joe Perches wrote: > On Sat, 2021-07-10 at 21:50 +0200, Julia Lawall wrote: > > On Fri, 9 Jul 2021, Joe Perches wrote: > > > > > Here is a cocci script to convert various types of bitmap allocations > > > that use BITS_TO_LONGS to the more typical bitmap_alloc functions. > > > > > > Perhaps something like it could be added to scripts/coccinelle. > > > The diff produced by the script is also below. > > > > > > $ cat bitmap_allocs.cocci > > > // typical uses of bitmap allocations > [] > > > @@ > > > expression val; > > > expression e1; > > > expression e2; > > > @@ > > > > > > - val = kcalloc(BITS_TO_LONGS(e1), sizeof(*val), e2) > > > + val = bitmap_zalloc(e1, e2) > > > > Is there something that guarantees that val has a type that has a size that > > is the same as a long? > > no, but afaict, all do. It might be nicer for the val metavariable to be declared as {long,unsigned long} val;, although that might lose some results if the type is something else that has the same size. I can check what is the impact of adding that constraint. julia