This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/32088] [4.3 Regression] ICE (doesn't occur if given function standalone instead on internal)
- From: "burnus at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 26 May 2007 00:35:20 -0000
- Subject: [Bug fortran/32088] [4.3 Regression] ICE (doesn't occur if given function standalone instead on internal)
- References: <bug-32088-14607@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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 <pault@gcc.gnu.org>
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