http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54940



janus at gcc dot gnu.org changed:



           What    |Removed                     |Added

----------------------------------------------------------------------------

                 CC|                            |janus at gcc dot gnu.org



--- Comment #2 from janus at gcc dot gnu.org 2012-10-17 19:22:34 UTC ---

(In reply to comment #1)

> The ICE starts with 4.6.3. The ICE occurs at

> 

>   gcc_assert (result->symtree

>               && (result->symtree->n.sym->attr.flavor == FL_PROCEDURE

>                   || result->symtree->n.sym->attr.flavor == FL_UNKNOWN));

> 

> introduced by r183314



... which was Tobias' fix for PR 51904. I think the most straightforward thing

would be to just remove the assert again:





Index: gcc/fortran/expr.c

===================================================================

--- gcc/fortran/expr.c    (revision 192392)

+++ gcc/fortran/expr.c    (working copy)

@@ -4606,9 +4606,6 @@ gfc_build_intrinsic_call (const char* name, locus

   result->value.function.isym = isym;



   result->symtree = gfc_find_symtree (gfc_current_ns->sym_root, name);

-  gcc_assert (result->symtree

-          && (result->symtree->n.sym->attr.flavor == FL_PROCEDURE

-          || result->symtree->n.sym->attr.flavor == FL_UNKNOWN));



   va_start (ap, numarg);

   atail = NULL;





In a valid-code context the assert surely makes sense, but here it seems to

choke on the fallout of the two errors.

Reply via email to