[Patch, fortran] PR24866 - ICE on external dummy in module procedure

Paul Thomas paulthomas2@wanadoo.fr
Sun Aug 20 06:16:00 GMT 2006


:ADDPATCH fortran:

If this comes through twice, I apologise - I apparently sent it OK last 
night but I have not seen it on the list.

If an external dummy procedure in a module procedure has a doppelganger 
module procedure, with the same name, an ICE can ensue, depending on the 
ordering of the module procedures.  This comes about because parse.c 
(gfc_fixup_sibling_symbols) tries to redirect the symtree reference for 
the dummy to the host associated symbol for the doppelganger.  The fix 
is easy, as will be seen from the patch.  The testsuite case is a 
developed version of the contributors example.

Regtested on SUSE10.1/AMD64 - OK for  trunk and 4.1?

Paul

2006-08-19  Paul Thomas  <pault@gcc.gnu.org>

   PR fortran/24866
   * parse.c (gfc_fixup_sibling_symbols): Do not modify the symbol
   if it is a dummy in the contained namespace.

2006-08-19  Paul Thomas  <pault@gcc.gnu.org>

   PR fortran/24866
   * gfortran.dg/module_proc_external_dummy.f90: New test.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pr24866.diff
Type: text/x-patch
Size: 1919 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20060820/e3eaa080/attachment.bin>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: Change.Logs
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20060820/e3eaa080/attachment.ksh>


More information about the Gcc-patches mailing list