From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS22989 209.51.188.0/24 X-Spam-Status: No, score=-3.7 required=3.0 tests=AWL,BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, NICE_REPLY_A,RCVD_IN_DNSWL_MED,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS, SPF_PASS shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id BBEC61F8C6 for ; Sat, 7 Aug 2021 13:04:11 +0000 (UTC) Received: from localhost ([::1]:50802 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mCLzm-0003Db-Io for normalperson@yhbt.net; Sat, 07 Aug 2021 09:04:10 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53470) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mCLzj-0003DT-GZ for bug-gnulib@gnu.org; Sat, 07 Aug 2021 09:04:07 -0400 Received: from mo4-p00-ob.smtp.rzone.de ([85.215.255.20]:33243) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mCLzh-0005QC-J0 for bug-gnulib@gnu.org; Sat, 07 Aug 2021 09:04:07 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1628341432; s=strato-dkim-0002; d=clisp.org; h=References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Cc:Date: From:Subject:Sender; bh=+7Ka5lRLXhsUnc5+gbR2a8k+qN8kZUVpsc5yMPXYxMQ=; b=MMEPIHyVkvTYhWOqgjZYHP987Zt8uBHjI9N56WoYwyIMrTzz95M9ZgR9I3p+I7RDp8 vW3yGbiSsqp8Q3oYLDMHW2JJR83tkc+Mr6sZpxv7up2+6cBMXw7BSKxyZhbCg8Kr8Ych bUyEX8IyRa32aEPEQJpo95S3960cCY/IHuXD6n4LuhBAxT4c+xpY+f1Qa7FDPiE7Asrg NJ7anuQH2jXotW2asjwhu5mZsOSuCx/QCSo32LS4jNwqyRlC7qTmn5nHyBLrttp2B4Hf H7vcQJzki6a50avEIbXzEgSNnKx91Ehsm9yI7JmOsabJVEJuMGgIAs8bHJEmd+1zPg4B 2TDA== Authentication-Results: strato.com; dkim=none X-RZG-AUTH: ":Ln4Re0+Ic/6oZXR1YgKryK8brlshOcZlIWs+iCP5vnk6shH/DXj0JGsbh0vbrMZq" X-RZG-CLASS-ID: mo00 Received: from bruno.haible.de by smtp.strato.de (RZmta 47.31.0 DYNA|AUTH) with ESMTPSA id I0a189x77D3qFLd (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (curve X9_62_prime256v1 with 256 ECDH bits, eq. 3072 bits RSA)) (Client did not present a certificate); Sat, 7 Aug 2021 15:03:52 +0200 (CEST) From: Bruno Haible To: bug-gnulib@gnu.org Subject: Re: [PATCH 03/27] dfa: improve -fanalyzer malloc checking Date: Sat, 07 Aug 2021 15:03:51 +0200 Message-ID: <2788238.7k9Wo68Xks@omega> User-Agent: KMail/5.1.3 (Linux/4.4.0-210-generic; KDE/5.18.0; x86_64; ; ) In-Reply-To: <20210802011821.1057057-3-eggert@cs.ucla.edu> References: <20210802011821.1057057-1-eggert@cs.ucla.edu> <20210802011821.1057057-3-eggert@cs.ucla.edu> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Received-SPF: none client-ip=85.215.255.20; envelope-from=bruno@clisp.org; helo=mo4-p00-ob.smtp.rzone.de X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, NICE_REPLY_A=-0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: bug-gnulib@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Gnulib discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Paul Eggert Errors-To: bug-gnulib-bounces+normalperson=yhbt.net@gnu.org Sender: "bug-gnulib" > + * 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 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