[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