Procedure Pointer Components

Daniel Kraft d@domob.eu
Tue Sep 2 17:51:00 GMT 2008


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



More information about the Fortran mailing list