public inbox for fortran@gcc.gnu.org
 help / color / mirror / Atom feed
From: Harald Anlauf <anlauf@gmx.de>
To: sgk@troutmask.apl.washington.edu
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 22:20:43 +0100	[thread overview]
Message-ID: <ac0c7cba-e10e-4600-bc4a-8ac39912ab6c@gmx.de> (raw)
In-Reply-To: <ZdZkfKEqivTbIAgT@troutmask.apl.washington.edu>

On 2/21/24 22:00, Steve Kargl wrote:
> Unfortunately, valgrind does not work on AMD FX-8350 cpu.

Do you mean valgrind does not work at all?
For gcc, you need to configure --enable-valgrind-annotations
to not get bogus warnings.

> memleak vs ICE.  I think I'll take one over the other.
> Probably need to free code->expr3 before the copy.

Yep.

> 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.

Yes, that's why I tried to make up the above example.
I think %re and %im are not too special, they work
here pretty much like component refs elsewhere.

>
>>     print *, pp
>>     allocate (uu, source = cc% tt% im)       ! ICE
>
> Ditto.  Not to mention I know nothing about the implementation
> of CLASS in gfortran.
>

You can ignore this one for now.  It works if one places
parens around the source expr as for the other cases.

Harald


  reply	other threads:[~2024-02-21 21:20 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
2024-02-21 21:20       ` Harald Anlauf [this message]
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=ac0c7cba-e10e-4600-bc4a-8ac39912ab6c@gmx.de \
    --to=anlauf@gmx.de \
    --cc=fortran@gcc.gnu.org \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=jvdelisle2@gmail.com \
    --cc=sgk@troutmask.apl.washington.edu \
    /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).