public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "janus at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug fortran/55037] [4.8 Regression] [OOP] ICE with local allocatable variable of abstract type
Date: Wed, 24 Oct 2012 09:46:00 -0000	[thread overview]
Message-ID: <bug-55037-4-YRRmD7LOrY@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-55037-4@http.gcc.gnu.org/bugzilla/>


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55037

--- Comment #3 from janus at gcc dot gnu.org 2012-10-24 09:45:59 UTC ---
(In reply to comment #1)
> It seems likely a fallout of revision 191649 which introduced the assert
> 
>                           gcc_assert (fsym->ts.u.derived == e->ts.u.derived);


Indeed I think removing this assert is sufficient for solving the problem in
comment 0.

Since both the formal arg "y" as well as the expression being passed to it
("tmp") are polymorphic, the ts.u.derived points to the class container in both
cases.

Now, the class container of "y" lives in m1, while that of "tmp" lives in m2
(apparently the "use, only" prevents it from being carried over). In principle
this is not a big problem, we just should not assume they are equal ;)

If anything, we could assume that the types themselves (not the class
containers) should be equal. But firstly, even this may not be strictly
necessary (I'm not 100% sure right now), and secondly such conditions should
have been checked by the present argument checking machinery.


  parent reply	other threads:[~2012-10-24  9:46 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-23 14:40 [Bug fortran/55037] New: I.C.E. " mrestelli at gmail dot com
2012-10-23 15:52 ` [Bug fortran/55037] " dominiq at lps dot ens.fr
2012-10-23 16:01 ` janus at gcc dot gnu.org
2012-10-24  9:46 ` janus at gcc dot gnu.org [this message]
2012-10-24 10:26 ` [Bug fortran/55037] [4.8 Regression] [OOP] ICE " janus at gcc dot gnu.org
2012-10-24 15:23 ` janus at gcc dot gnu.org
2012-10-24 15:32 ` janus 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-55037-4-YRRmD7LOrY@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).