public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "burnus at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug fortran/50640] [4.7 Regression] [OOP] FAIL: gfortran.dg/select_type_12.f03  -O  (internal compiler error)
Date: Tue, 11 Sep 2012 13:46:00 -0000	[thread overview]
Message-ID: <bug-50640-4-Suu5Jl6ehc@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-50640-4@http.gcc.gnu.org/bugzilla/>

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

--- Comment #26 from Tobias Burnus <burnus at gcc dot gnu.org> 2012-09-11 13:44:44 UTC ---
The solution of comment 3, fixed by comment 24 seems to break the test case of
PR fortran/53718.

Reverting the patch (comment 24, except for unrelated class.c part) fixes the
issue of PR 53718. For some reason, reverting the patch no longer triggers the
issue of this PR, i.e. gfortran.dg/select_type_12.f03 gives no ICE.

Hence, it seems as if comment 2 no longer applies.


To recap (rough version): gfortran generates in MAIN__ the nested function
__copy_MAIN___T1 and assigns it (function pointer) to a field of the static
struct __vtab_MAIN___T1. But __copy_MAIN___T1 does not get called in MAIN__ but
only in "foo" which is also a nested function of MAIN__ - thus,
__vtab_MAIN___T1 didn't get marked as referenced, causing the ICE.

The patch in comment 24 hoisted the "__copy_MAIN___T1" out of MAIN__ into the
TU space.


Does anyone see a reason why the patch shouldn't be revered? (I assume one of
Richard's patches in May fixed the issue. That probably means that one has to
find another solution for 4.7. Suggestions?)

Comments - especially from the middle-end side?


      parent reply	other threads:[~2012-09-11 13:46 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-06 21:21 [Bug middle-end/50640] New: [4.7 Regression] " dominiq at lps dot ens.fr
2011-10-06 21:38 ` [Bug middle-end/50640] " dominiq at lps dot ens.fr
2011-10-07  8:32 ` rguenth at gcc dot gnu.org
2011-10-07 16:15 ` dominiq at lps dot ens.fr
2011-10-07 16:46 ` matz at gcc dot gnu.org
2011-10-07 16:51 ` matz at gcc dot gnu.org
2011-10-07 16:58 ` burnus at gcc dot gnu.org
2011-10-07 18:54 ` rguenth at gcc dot gnu.org
2011-10-07 19:00 ` rguenth at gcc dot gnu.org
2011-10-10 15:29 ` rguenth at gcc dot gnu.org
2011-10-15  8:48 ` hp at gcc dot gnu.org
2011-10-15  9:14 ` janus at gcc dot gnu.org
2011-11-06 14:13 ` hp at gcc dot gnu.org
2011-11-06 17:08 ` tkoenig at gcc dot gnu.org
2011-11-06 17:21 ` dominiq at lps dot ens.fr
2011-11-06 17:48 ` hp at gcc dot gnu.org
2011-11-06 18:17 ` janus at gcc dot gnu.org
2011-11-06 19:22 ` dominiq at lps dot ens.fr
2011-11-06 19:43 ` burnus at gcc dot gnu.org
2011-11-06 20:04 ` hp at gcc dot gnu.org
2011-11-07  8:12 ` burnus at gcc dot gnu.org
2011-11-07 11:02 ` paul.richard.thomas at gmail dot com
2011-11-07 16:25 ` burnus at gcc dot gnu.org
2011-11-07 16:28 ` burnus at gcc dot gnu.org
2011-11-09 10:37 ` burnus at gcc dot gnu.org
2011-11-10 11:12 ` paul.richard.thomas at gmail dot com
2011-11-19  9:33 ` [Bug fortran/50640] [4.7 Regression] [OOP] " burnus at gcc dot gnu.org
2011-11-19 10:32 ` burnus at gcc dot gnu.org
2012-09-11 13:46 ` burnus at gcc dot gnu.org [this message]

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-50640-4-Suu5Jl6ehc@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).