public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "cvs-commit at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug ada/114710] too late finalization of temporary object
Date: Thu, 13 Jun 2024 13:33:32 +0000	[thread overview]
Message-ID: <bug-114710-4-5iXoSL0MM1@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-114710-4@http.gcc.gnu.org/bugzilla/>

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114710

--- Comment #3 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Marc Poulhi?s <dkm@gcc.gnu.org>:

https://gcc.gnu.org/g:9e490bea69205ec4cad8caf21f19d8a8a89a7b43

commit r15-1260-g9e490bea69205ec4cad8caf21f19d8a8a89a7b43
Author: Eric Botcazou <ebotcazou@adacore.com>
Date:   Mon Apr 22 09:35:44 2024 +0200

    ada: Fix too late finalization of temporary object

    The problem is that Is_Finalizable_Transient returns false when a transient
    object is subject to a renaming by another transient object present in the
    same transient scope, thus forcing its finalization to be deferred to the
    enclosing scope.  That's not necessary, as only renamings by nontransient
    objects serviced by transient scopes need to be rejected by the predicate.

    The change also removes now dead code in the finalization machinery.

    gcc/ada/

            PR ada/114710
            * exp_ch7.adb (Build_Finalizer.Process_Declarations): Remove dead
            code dealing with renamings.
            * exp_util.ads (Is_Finalizable_Transient): Rename Rel_Node to N.
            * exp_util.adb (Is_Finalizable_Transient): Likewise.
            (Is_Aliased): Remove obsolete code dealing wih EWA nodes and only
            consider renamings present in N itself.
            (Requires_Cleanup_Actions): Remove dead code dealing with
renamings.

  parent reply	other threads:[~2024-06-13 13:33 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-13 17:09 [Bug ada/114710] New: Temporary object finalized too late jhb.chat at gmail dot com
2024-04-20 15:49 ` [Bug ada/114710] temporary " ebotcazou at gcc dot gnu.org
2024-04-21  7:29 ` ebotcazou at gcc dot gnu.org
2024-06-13 13:33 ` cvs-commit at gcc dot gnu.org [this message]
2024-06-13 13:33 ` [Bug ada/114710] too late finalization of temporary object cvs-commit at gcc dot gnu.org
2024-06-13 13:34 ` cvs-commit at gcc dot gnu.org
2024-06-13 17:27 ` ebotcazou at gcc dot gnu.org

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-114710-4-5iXoSL0MM1@http.gcc.gnu.org/bugzilla/ \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).