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/45586] [4.6 Regression] ICE non-trivial conversion at assignment
Date: Mon, 07 Feb 2011 22:20:00 -0000 [thread overview]
Message-ID: <bug-45586-4-qF3n4ZN4OO@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-45586-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45586
--- Comment #44 from janus at gcc dot gnu.org 2011-02-07 22:15:47 UTC ---
(In reply to comment #42)
> (In reply to comment #40)
>
> There is indeed something fishy here.
> Your change does the right thing in the non-class case I think ; can't tell
> about the class case.
> Janus ?
Sorry for the late answer. I think the patch is ok. It does not affect OOP
anyway. And for non-class types there was a bug apparently. AFAICS one could
simplify 'conv_parent_component_references' in the following way:
Index: gcc/fortran/trans-expr.c
===================================================================
--- gcc/fortran/trans-expr.c (revision 169891)
+++ gcc/fortran/trans-expr.c (working copy)
@@ -538,6 +538,11 @@ conv_parent_component_references (gfc_se * se, gfc
dt = ref->u.c.sym;
c = ref->u.c.component;
+ /* Return if the component is not in the parent type. */
+ for (cmp = dt->components; cmp; cmp = cmp->next)
+ if (strcmp (c->name, cmp->name) == 0)
+ return;
+
/* Build a gfc_ref to recursively call gfc_conv_component_ref. */
parent.type = REF_COMPONENT;
parent.next = NULL;
@@ -546,24 +551,12 @@ conv_parent_component_references (gfc_se * se, gfc
if (dt->backend_decl == NULL)
gfc_get_derived_type (dt);
-
- if (dt->attr.extension && dt->components)
- {
- if (dt->attr.is_class)
- cmp = dt->components;
- else
- cmp = dt->components->next;
- /* Return if the component is not in the parent type. */
- for (; cmp; cmp = cmp->next)
- if (strcmp (c->name, cmp->name) == 0)
- return;
-
- /* Otherwise build the reference and call self. */
- gfc_conv_component_ref (se, &parent);
- parent.u.c.sym = dt->components->ts.u.derived;
- parent.u.c.component = c;
- conv_parent_component_references (se, &parent);
- }
+
+ /* Otherwise build the reference and call self. */
+ gfc_conv_component_ref (se, &parent);
+ parent.u.c.sym = dt->components->ts.u.derived;
+ parent.u.c.component = c;
+ conv_parent_component_references (se, &parent);
}
/* Return the contents of a variable. Also handles reference/pointer
next prev parent reply other threads:[~2011-02-07 22:15 UTC|newest]
Thread overview: 101+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <bug-45586-4@http.gcc.gnu.org/bugzilla/>
2010-09-24 10:43 ` [Bug lto/45586] " Joost.VandeVondele at pci dot uzh.ch
2010-09-24 11:17 ` Joost.VandeVondele at pci dot uzh.ch
2010-09-30 15:50 ` rguenth at gcc dot gnu.org
2010-10-21 15:28 ` rguenth at gcc dot gnu.org
2010-11-25 16:59 ` [Bug fortran/45586] " rguenth at gcc dot gnu.org
2010-11-25 17:00 ` rguenth at gcc dot gnu.org
2010-11-25 17:07 ` Joost.VandeVondele at pci dot uzh.ch
2010-11-25 17:44 ` matz at gcc dot gnu.org
2010-11-25 18:04 ` matz at gcc dot gnu.org
2010-11-26 10:27 ` Joost.VandeVondele at pci dot uzh.ch
2010-11-26 12:23 ` rguenth at gcc dot gnu.org
2010-11-26 12:49 ` Joost.VandeVondele at pci dot uzh.ch
2010-11-26 13:45 ` rguenth at gcc dot gnu.org
2010-11-26 13:55 ` burnus at gcc dot gnu.org
2010-11-26 14:02 ` Joost.VandeVondele at pci dot uzh.ch
2010-11-26 14:40 ` rguenther at suse dot de
2010-11-26 14:43 ` rguenth at gcc dot gnu.org
2011-01-13 15:49 ` burnus at gcc dot gnu.org
2011-01-16 13:04 ` tkoenig at gcc dot gnu.org
2011-01-16 15:18 ` mikael at gcc dot gnu.org
2011-01-16 16:37 ` tkoenig at netcologne dot de
2011-01-17 11:30 ` rguenth at gcc dot gnu.org
2011-01-17 13:42 ` mikael at gcc dot gnu.org
2011-01-17 13:50 ` burnus at gcc dot gnu.org
2011-01-17 14:15 ` matz at gcc dot gnu.org
2011-01-18 12:57 ` mikael at gcc dot gnu.org
2011-01-18 13:47 ` rguenther at suse dot de
2011-01-18 14:20 ` matz at gcc dot gnu.org
2011-01-18 17:38 ` mikael at gcc dot gnu.org
2011-01-19 16:48 ` matz at gcc dot gnu.org
2011-01-20 16:56 ` matz at gcc dot gnu.org
2011-01-21 23:20 ` mikael at gcc dot gnu.org
2011-01-24 9:55 ` rguenther at suse dot de
2011-01-25 14:59 ` mikael at gcc dot gnu.org
2011-01-25 15:03 ` mikael at gcc dot gnu.org
2011-01-25 15:13 ` matz at gcc dot gnu.org
2011-01-25 15:13 ` Joost.VandeVondele at pci dot uzh.ch
2011-01-25 22:28 ` mikael at gcc dot gnu.org
2011-01-26 13:13 ` matz at gcc dot gnu.org
2011-02-07 22:20 ` janus at gcc dot gnu.org [this message]
2011-02-12 13:12 ` burnus at gcc dot gnu.org
2011-02-12 13:24 ` burnus at gcc dot gnu.org
2011-02-12 15:05 ` mikael at gcc dot gnu.org
2011-02-13 17:51 ` jsm28 at gcc dot gnu.org
2011-02-18 19:54 ` matz at gcc dot gnu.org
2011-02-18 20:21 ` matz at gcc dot gnu.org
2011-04-05 15:10 ` Joost.VandeVondele at pci dot uzh.ch
2011-04-05 15:16 ` [Bug fortran/45586] [4.6/4.7 " rguenth at gcc dot gnu.org
2011-04-11 9:10 ` burnus at gcc dot gnu.org
2011-04-12 5:50 ` Joost.VandeVondele at pci dot uzh.ch
2011-04-13 18:47 ` Joost.VandeVondele at pci dot uzh.ch
2011-04-26 14:09 ` burnus at gcc dot gnu.org
2011-04-26 18:18 ` Joost.VandeVondele at pci dot uzh.ch
2011-04-26 18:24 ` Joost.VandeVondele at pci dot uzh.ch
2011-04-26 19:37 ` tkoenig at gcc dot gnu.org
2011-06-27 15:50 ` jakub at gcc dot gnu.org
2011-07-26 14:28 ` burnus at gcc dot gnu.org
2011-07-27 22:35 ` burnus at gcc dot gnu.org
2011-07-28 5:41 ` burnus at gcc dot gnu.org
2011-07-28 5:44 ` burnus at gcc dot gnu.org
2012-02-14 13:03 ` rguenth at gcc dot gnu.org
2012-02-14 13:23 ` rguenth at gcc dot gnu.org
2012-03-07 9:48 ` rguenth at gcc dot gnu.org
2012-03-07 9:51 ` [Bug fortran/45586] [4.8 " rguenth at gcc dot gnu.org
2012-03-12 10:16 ` dominiq at lps dot ens.fr
2012-05-11 8:33 ` rguenth at gcc dot gnu.org
2012-07-28 9:47 ` mikael at gcc dot gnu.org
2012-07-30 8:44 ` rguenther at suse dot de
2012-07-30 10:37 ` mikael at gcc dot gnu.org
2012-07-30 11:06 ` rguenther at suse dot de
2012-07-30 12:31 ` mikael at gcc dot gnu.org
2012-07-30 12:34 ` rguenther at suse dot de
2012-08-01 12:23 ` mikael at gcc dot gnu.org
2012-08-01 12:29 ` rguenther at suse dot de
2012-08-01 12:39 ` mikael at gcc dot gnu.org
2012-08-01 15:03 ` mikael at gcc dot gnu.org
2012-08-01 15:06 ` rguenther at suse dot de
2012-08-01 16:24 ` burnus at gcc dot gnu.org
2012-08-01 18:39 ` mikael at gcc dot gnu.org
2012-09-04 12:23 ` Joost.VandeVondele at mat dot ethz.ch
2012-09-26 6:43 ` Joost.VandeVondele at mat dot ethz.ch
2012-09-26 9:38 ` burnus at gcc dot gnu.org
2012-09-26 16:07 ` mikael at gcc dot gnu.org
2012-09-30 12:31 ` Joost.VandeVondele at mat dot ethz.ch
2012-11-15 22:46 ` bergner at gcc dot gnu.org
2012-12-13 8:42 ` Joost.VandeVondele at mat dot ethz.ch
2012-12-13 12:07 ` rguenth at gcc dot gnu.org
2012-12-13 15:14 ` Joost.VandeVondele at mat dot ethz.ch
2013-01-15 19:54 ` rsandifo at gcc dot gnu.org
2013-03-22 14:45 ` [Bug fortran/45586] [4.8/4.9 " jakub at gcc dot gnu.org
2013-03-24 8:04 ` Joost.VandeVondele at mat dot ethz.ch
2013-05-31 10:59 ` jakub at gcc dot gnu.org
2013-08-29 13:35 ` Joost.VandeVondele at mat dot ethz.ch
2013-10-16 9:49 ` jakub at gcc dot gnu.org
2013-11-21 18:31 ` Joost.VandeVondele at mat dot ethz.ch
2013-12-30 8:42 ` nheghathivhistha at gmail dot com
2014-01-09 11:52 ` rguenth at gcc dot gnu.org
2014-01-09 14:44 ` [Bug fortran/45586] [4.8 " rguenth at gcc dot gnu.org
2014-02-08 12:47 ` pault at gcc dot gnu.org
2014-02-09 12:57 ` rguenther at suse dot de
2014-02-16 7:00 ` Joost.VandeVondele at mat dot ethz.ch
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-45586-4-qF3n4ZN4OO@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).