This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/42684] ICE when interface operator(xx) available through host and use assoc in module procedure
- From: "ian_harvey at bigpond dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 11 Jan 2010 01:56:29 -0000
- Subject: [Bug fortran/42684] ICE when interface operator(xx) available through host and use assoc in module procedure
- References: <bug-42684-17837@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #2 from ian_harvey at bigpond dot com 2010-01-11 01:56 -------
Some primitive debugging: As directed by parse_contained, parsing and
subsequent processing of the use statement in other_proc (parse_progunit)
occurs prior to parsing of the add_b function and hence determination of the
characteristics of the add_b symbol. This use statement processing includes
ambiguous interface checking (gfc_compare_interfaces), which doesn't deal with
the case when the symbol associated with argument s2 is of unknown type
(BT_UNKNOWN) and no name is provided for type resolution.
A source code workaround is to move the USE statement to the specification part
of the module or to reorder the module procedures such that add_b occurs before
other_proc.
The internal error is also generated if the module procedure name given in the
INTERFACE OPERATOR block doesn't exist as a module procedure.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42684