From 0e96b118662b70ffd89cb58f3f2857cecf3d9038 Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Sat, 7 Aug 2021 19:13:56 +0200 Subject: 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'. --- lib/bitsetv.h | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'lib') 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); -- cgit v1.2.1