> +     * lib/canonicalize.h, lib/dfa.h:
>       Add malloc-related attributes and include stdlib.h as needed.

More can be done in dfa.h:


2021-08-07  Bruno Haible  <[email protected]>

        dfa: Improve GCC 11 allocation-deallocation checking.
        * lib/dfa.h (dfamust): Declare that deallocation must happen through
        dfamustfree.

diff --git a/lib/dfa.h b/lib/dfa.h
index 28f9f63..edc39dc 100644
--- a/lib/dfa.h
+++ b/lib/dfa.h
@@ -88,13 +88,16 @@ extern void dfacopysyntax (struct dfa *, struct dfa const 
*);
 /* Parse the given string of given length into the given struct dfa.  */
 extern void dfaparse (char const *, ptrdiff_t, struct dfa *);
 
-/* Allocate and return a struct dfamust from a struct dfa that was
-   initialized by dfaparse and not yet given to dfacomp.  */
-extern struct dfamust *dfamust (struct dfa const *);
+struct dfamust;
 
 /* Free the storage held by the components of a struct dfamust. */
 extern void dfamustfree (struct dfamust *);
 
+/* Allocate and return a struct dfamust from a struct dfa that was
+   initialized by dfaparse and not yet given to dfacomp.  */
+extern struct dfamust *dfamust (struct dfa const *)
+  _GL_ATTRIBUTE_DEALLOC (dfamustfree, 1);
+
 /* Compile the given string of the given length into the given struct dfa.
    The last argument says whether to build a searching or an exact matcher.
    A null first argument means the struct dfa has already been


Reply via email to