From 0e96b118662b70ffd89cb58f3f2857cecf3d9038 Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Sat, 7 Aug 2021 19:13:56 +0200 Subject: [PATCH] bitsetv: Improve GCC 11 allocation-deallocation checking. * lib/bitsetv.h (bitsetv_free): Move declaration up. (bitsetv_alloc, bitsetv_create): Declare that deallocation must happen through 'bitsetv_free'. --- ChangeLog | 5 +++++ lib/bitsetv.h | 12 +++++++----- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 6e4d3c2062..7d193dac0a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2021-08-07 Bruno Haible + bitsetv: Improve GCC 11 allocation-deallocation checking. + * lib/bitsetv.h (bitsetv_free): Move declaration up. + (bitsetv_alloc, bitsetv_create): Declare that deallocation must happen + through 'bitsetv_free'. + bitset: Improve GCC 11 allocation-deallocation checking. * lib/bitset.h (bitset_free): Move declaration up. (bitset_alloc, bitset_create): Declare that deallocation must happen diff --git a/lib/bitsetv.h b/lib/bitsetv.h index 72bf2779f2..2ab9b80863 100644 --- a/lib/bitsetv.h +++ b/lib/bitsetv.h @@ -25,16 +25,18 @@ typedef bitset * bitsetv; +/* Free vector of bitsets. Do nothing if NULL. */ +void bitsetv_free (bitsetv); + /* Create a vector of N_VECS bitsets, each of N_BITS, and of type TYPE. */ -bitsetv bitsetv_alloc (bitset_bindex, bitset_bindex, enum bitset_type); +bitsetv bitsetv_alloc (bitset_bindex, bitset_bindex, enum bitset_type) + _GL_ATTRIBUTE_DEALLOC (bitsetv_free, 1); /* Create a vector of N_VECS bitsets, each of N_BITS, and with attribute hints specified by ATTR. */ -bitsetv bitsetv_create (bitset_bindex, bitset_bindex, unsigned); - -/* Free vector of bitsets. Do nothing if NULL. */ -void bitsetv_free (bitsetv); +bitsetv bitsetv_create (bitset_bindex, bitset_bindex, unsigned) + _GL_ATTRIBUTE_DEALLOC (bitsetv_free, 1); /* Zero vector of bitsets. */ void bitsetv_zero (bitsetv); -- 2.39.5