[Patch, fortran] PR31214 - User-defined operator using entry leads to ICE
Paul Thomas
paulthomas2@wanadoo.fr
Sat Aug 4 11:47:00 GMT 2007
:ADDPATCH fortran:
This was one of those snare and delusion PRs - fixing the reduced
testcase did not fix the original and I just plain forgot that there was
an original :-(
The patch is self-explanatory, since I have commented it reasonably
profusely. Note that I have moved get_unique_symtree so that symtrees
pointing to unneeded symbols can be added - this then ensures that they
are properly cleaned up. The testcase is based on the original with the
addition of explicit use of the entry name as a value.
The correction to gfc_show_code_node arose because I kept getting this
internal error with the PR's testcase..... it took a while to realise
that it was not my patch!
Also, I noticed that entry_12 did not have the command to clean up the
module file, so I have included that in the pr.
Regetested on Cygwin_NT/amd64 - OK for trunk?
Paul
2007-08-04 Paul Thomas <pault@gcc.gnu.org>
PR fortran/31214
* symbol.c (get_unique_symtree): Moved from module.c.
* module.c (get_unique_symtree): Moved to symbol.c.
* decl.c (get_proc_name): Transfer the typespec from the local
symbol to the module symbol, in the case that an entry is also
a module procedure. Ensure the local symbol is cleaned up by
pointing to it with a unique symtree.
* dump_parse_tree (gfc_show_code_node): Add EXEC_ASSIGN_CALL.
2007-08-04 Paul Thomas <pault@gcc.gnu.org>
PR fortran/31214
* gfortran.dg/entry_13.f90: New test.
* gfortran.dg/entry_12.f90: Clean up .mod file.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pr31214.diff
Type: text/x-patch
Size: 6664 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/fortran/attachments/20070804/61b6f100/attachment.bin>
More information about the Fortran
mailing list