procedure declaration
Janus Weil
jaydub66@googlemail.com
Sat Jun 23 22:12:00 GMT 2007
Hey guys,
after some further modifications I'm finally able to compile my little
test program. Basically I added a few lines a la
"if (sym->attr.procedure==0) ..."
here and there to get rid of some error messages. After that I got
another ICE, which I could trace down to the following code in
resolve.c(resolve_symbol):
if (sym->attr.procedure && sym->formal != NULL)
{
gfc_formal_arglist *f = sym->formal;
sym->ts = f->sym->ts;
sym->attr.function = f->sym->attr.function;
sym->attr.subroutine = f->sym->attr.subroutine;
//sym->formal = f->sym->formal;
sym->attr.if_source = IFSRC_DECL;
gfc_free_formal_arglist (f);
}
This comes from Paul's original patch, and I really have no idea why
it is there or what it is supposed to do (I hope Paul can tell me).
Since it produced errors I just commented it out, and now my test
program compiles without problems and produces correct output. The
test program includes an abstract interface and a simple procedure
declaration, no pointers yet. The new patch is attached. Props go to
Steve for his quick help on IRC.
Cheers,
Janus
-------------- next part --------------
A non-text attachment was scrubbed...
Name: procpatch125976.diff
Type: text/x-patch
Size: 21492 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/fortran/attachments/20070623/e6f769c3/attachment.bin>
More information about the Fortran
mailing list