From: Steve Kargl <sgk@troutmask.apl.washington.edu>
To: Harald Anlauf <anlauf@gmx.de>
Cc: Jerry D <jvdelisle2@gmail.com>,
fortran@gcc.gnu.org, gcc-patches@gcc.gnu.org
Subject: Re: [PATCH] Fix fortran/PR114024
Date: Wed, 21 Feb 2024 13:00:44 -0800 [thread overview]
Message-ID: <ZdZkfKEqivTbIAgT@troutmask.apl.washington.edu> (raw)
In-Reply-To: <3444d912-2e79-4e16-a425-79810d161ebb@gmx.de>
On Wed, Feb 21, 2024 at 09:28:16PM +0100, Harald Anlauf wrote:
> On 2/21/24 20:41, Jerry D wrote:
> > On 2/21/24 10:30 AM, Steve Kargl wrote:
> > > I have attached a patch to PR114024, see
> > >
> > > https://gcc.gnu.org/pipermail/gcc-bugs/2024-February/854651.html
> > >
> > > The patch contains a new testcase and passes regression
> > > testing on x86_64-*-freebsd. Could someone castr an eye
> > > over the patch and commit it?
> > >
> >
> > Hi Steve,
> >
> > I looked it over and looks reasonable. I will try to apply it next few
> > days and test here. If OK, I will commit.
> >
> > Jerry
> >
>
> Actually the patch has two issues:
>
> - a minor one: a new front-end memleak which can be avoided by
> using either gfc_replace_expr (see its other uses)
> Hint: try valgrind on f951
Unfortunately, valgrind does not work on AMD FX-8350 cpu.
memleak vs ICE. I think I'll take one over the other.
Probably need to free code->expr3 before the copy.
I tried gfc_replace_expr in an earlier patch. It did not
work.
> - it still fails on the following code, because the traversal
> of the refs is incomplete / wrong:
>
> program foo
> implicit none
> complex :: cmp(3)
> real, pointer :: pp(:)
> class(*), allocatable :: uu(:)
> type t
> real :: re
> real :: im
> end type t
> type u
> type(t) :: tt(3)
> end type u
> type(u) :: cc
>
> cmp = (3.45,6.78)
> cc% tt% re = cmp% re
> cc% tt% im = cmp% im
> allocate (pp, source = cc% tt% im) ! ICE
cc%tt%im isn't a complex-part-ref, so this seems to
be a different (maybe related) issue. Does the code
compile with 'source = (cc%tt%im)'? If so, perhaps,
detecting a component reference and doing the simply
wrapping with parentheses can be done.
> print *, pp
> allocate (uu, source = cc% tt% im) ! ICE
Ditto. Not to mention I know nothing about the implementation
of CLASS in gfortran.
--
Steve
next prev parent reply other threads:[~2024-02-21 21:00 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-21 18:30 Steve Kargl
2024-02-21 19:41 ` Jerry D
2024-02-21 20:28 ` Harald Anlauf
2024-02-21 20:31 ` Jerry D
2024-02-21 21:00 ` Steve Kargl [this message]
2024-02-21 21:20 ` Harald Anlauf
2024-02-21 21:42 ` Steve Kargl
2024-02-22 0:52 ` Steve Kargl
2024-02-22 20:22 ` Harald Anlauf
2024-02-22 21:01 ` Steve Kargl
2024-02-22 21:32 ` Harald Anlauf
2024-02-23 21:15 ` [PATCH, v2] " Harald Anlauf
2024-02-23 21:32 ` rep.dot.nop
2024-02-23 21:34 ` Steve Kargl
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=ZdZkfKEqivTbIAgT@troutmask.apl.washington.edu \
--to=sgk@troutmask.apl.washington.edu \
--cc=anlauf@gmx.de \
--cc=fortran@gcc.gnu.org \
--cc=gcc-patches@gcc.gnu.org \
--cc=jvdelisle2@gmail.com \
/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).