2021-08-07 Bruno Haible <bruno@clisp.org>
+ 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
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);