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.
next prev 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: linkBe 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).