This is the mail archive of the
fortran@gcc.gnu.org
mailing list for the GNU Fortran project.
Re: Procedure Pointer Components
- From: Daniel Kraft <d at domob dot eu>
- To: Janus Weil <jaydub66 at googlemail dot com>
- Cc: Fortran List <fortran at gcc dot gnu dot org>, Tobias Burnus <burnus at net-b dot de>
- Date: Tue, 02 Sep 2008 19:52:59 +0200
- Subject: Re: Procedure Pointer Components
- References: <854832d40808251540t1bfba140o61115268ab4a42d4@mail.gmail.com> <48B3A301.5030800@domob.eu> <854832d40808252359k45378579vc1646a6f06d16bd7@mail.gmail.com> <854832d40808310633v10f92dcq75ce1dd9ca69d180@mail.gmail.com> <48BAA4DF.2040002@domob.eu> <854832d40809011346q40a66f29g72bf48b7f9a2503e@mail.gmail.com>
Hi Janus,
> Now I'm not really sure how to solve this properly (since I don't have
> a lot of experience in dealing with namespaces). Any hints would be
> greatly appreciated.
I'm probably the wrong one, here, too. At least for trans, I've never
worked with namespaces so far...
Some comments to your patch from a read-through, although surely not
everything worth mentioning:
+gfc_symtree*
+gfc_find_ppc (gfc_symbol* derived, gfc_try* t,
+ const char* name, bool noaccess)
+{
Looks as if indentation got wrong, probably by the mailer though.
+ /* Check for C450. */
If possible, I'd try to spell this out briefly. "C450" means nothing to
me without looking up the standard...
-----
It seems that you do no special trans'ing of PPC calls at the moment but
rely on the usual trans of c->resolved_sym. I've not really an idea
about how this works/should work, but this seems to be the problem of
your link-time error. I would expect that this tries to call a symbol
"ppc" directly, rather than calling via indirection through a
function-pointer.
I would try to add a new trans method for PPC calls that does this, i.e.
generate a call to a function-pointer. But I don't really know if
there's even something like this... I just expect it to be like that
from my expectation that "GIMPLE is nearly C" :D If that assumption is
wrong, I've *really* no idea what the problem could be ;)
That's so far everything I came across, probably not much really
constructive...
Yours,
Daniel
--
Done: Arc-Bar-Cav-Sam-Val-Wiz, Dwa-Elf-Gno-Hum-Orc, Law-Neu-Cha, Fem-Mal
To go: Hea-Kni-Mon-Pri-Ran-Rog-Tou