------- Comment #3 from burnus at gcc dot gnu dot org 2007-05-26 00:35 ------- Failure was introduced between 2007-04-04-r123491 and 2007-04-11-r123712
My guess would be that it is the following patch: r123641 | pault | 2007-04-07 22:13:52 +0200 (Sa, 07 Apr 2007) | 14 lines 2007-04-07 Paul Thomas <[EMAIL PROTECTED]> PR fortran/31293 * symbol.c (gfc_check_function_type): New function. [...] This function looks as follows: +/* This function is called from parse.c(parse_progunit) to check the + type of the function is not implicitly typed in the host namespace + and to implicitly type the function result, if necessary. */ +gfc_check_function_type (gfc_namespace *ns) + gfc_symbol *proc = ns->proc_name; + if (!proc->attr.contained || proc->result->attr.implicit_type) + return; + if (proc->result->ts.type == BT_UNKNOWN) Here, proc->attr.contained = 1 and for some reason: proc->result->attr.implicit_type = 0 (shouldn't this be 1? ts.type = BT_UNKNOWN) In any case, if I simply return in this function, the ICE is gone. The question is now, why is proc->result->attr.implicit_type not set? -- burnus at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |pault at gcc dot gnu dot | |org, burnus at gcc dot gnu | |dot org Keywords| |ice-on-valid-code Known to fail| |4.3.0 Known to work| |4.2.0 4.1.3 Target Milestone|--- |4.3.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32088