[Bug fortran/17741] ICE in gfc_free_namespace, at fortran/symbol.c:2208
--- Comment #9 from jvdelisle at gcc dot gnu dot org 2006-10-29 16:45 --- Fixed on 4.3, no need to backport -- jvdelisle at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED Target Milestone|--- |4.3.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17741
[Bug fortran/17741] ICE in gfc_free_namespace, at fortran/symbol.c:2208
--- Comment #8 from jvdelisle at gcc dot gnu dot org 2006-10-29 16:43 --- Subject: Bug 17741 Author: jvdelisle Date: Sun Oct 29 16:43:48 2006 New Revision: 118149 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=118149 Log: 2006-10-29 Jerry DeLisle <[EMAIL PROTECTED]> PR fortran/17741 * decl.c (get_proc_name): Bump current namespace refs count. Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/decl.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17741
[Bug fortran/17741] ICE in gfc_free_namespace, at fortran/symbol.c:2208
--- Comment #7 from jvdelisle at gcc dot gnu dot org 2006-10-22 00:09 --- Created an attachment (id=12472) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12472&action=view) A prelimary patch as one concept for handling this This patch gives a good result for error messages. However we are still left with some memory leak. I will have to explore this some more. The concept is to reset the locus and then return the correct end statement after emitting the error message. Whats nice about this is it gives errors for all the nested statements missing the correct "END" Comments anyone? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17741
[Bug fortran/17741] ICE in gfc_free_namespace, at fortran/symbol.c:2208
--- Comment #6 from jvdelisle at gcc dot gnu dot org 2006-10-21 00:16 --- I will see what I can figure out here now. -- jvdelisle at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |jvdelisle at gcc dot gnu dot |dot org |org Status|NEW |ASSIGNED Last reconfirmed|2006-09-03 21:39:48 |2006-10-21 00:16:04 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17741
[Bug fortran/17741] ICE in gfc_free_namespace, at fortran/symbol.c:2208
--- Comment #5 from patchapp at dberlin dot org 2006-05-15 19:41 --- Subject: Bug number PR17741 A patch for this bug has been added to the patch tracker. The mailing list url for the patch is http://gcc.gnu.org/ml/gcc-patches/2006-05/msg00483.html -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17741
[Bug fortran/17741] ICE in gfc_free_namespace, at fortran/symbol.c:2208
--- Comment #4 from pault at gcc dot gnu dot org 2006-05-12 04:34 --- Apparently ignoring the ICE is given the thumbs down. See today's list. Paul -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17741
[Bug fortran/17741] ICE in gfc_free_namespace, at fortran/symbol.c:2208
--- Comment #3 from paul dot richard dot thomas at cea dot fr 2006-05-10 12:59 --- I think that it is not correct to emit an ICE on this one. The patch below emits an error and bails out. I will submit in the next 24hours. Paul Index: gcc/fortran/symbol.c === --- gcc/fortran/symbol.c(r├®vision 113111) +++ gcc/fortran/symbol.c(copie de travail) @@ -2490,8 +2490,15 @@ ns->refs--; if (ns->refs > 0) return; - gcc_assert (ns->refs == 0); + if (ns->refs != 0) +{ + gfc_error_now ("namespace %s has %d references on being freed", +ns->proc_name->name ? ns->proc_name->name : "MAIN", +ns->refs + 1); + return; +} + gfc_free_statements (ns->code); free_sym_tree (ns->sym_root); -- paul dot richard dot thomas at cea dot fr changed: What|Removed |Added CC||paul dot richard dot thomas ||at cea dot fr http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17741
[Bug fortran/17741] ICE in gfc_free_namespace, at fortran/symbol.c:2208
--- Comment #2 from kargl at gcc dot gnu dot org 2006-01-22 19:18 --- Here's the back trace. #0 gfc_free_namespace (ns=0x861d800) at ../../gcc4x/gcc/fortran/symbol.c:2361 #1 0x0808a292 in free_sym_tree (sym_tree=0x8616560) at ../../gcc4x/gcc/fortran/symbol.c:2328 #2 0x0808a2e3 in gfc_free_namespace (ns=0x861d800) at ../../gcc4x/gcc/fortran/symbol.c:2376 #3 0x0808a3ea in gfc_symbol_done_2 () at ../../gcc4x/gcc/fortran/symbol.c:2423 #4 0x08073318 in gfc_done_2 () at ../../gcc4x/gcc/fortran/misc.c:293 #5 0x080786e6 in unexpected_eof () at ../../gcc4x/gcc/fortran/parse.c:1242 #6 0x08079439 in parse_spec (st=ST_NONE) at ../../gcc4x/gcc/fortran/parse.c:1395 #7 0x08079791 in parse_spec (st=ST_INTERFACE) at ../../gcc4x/gcc/fortran/parse.c:1526 #8 0x08079a55 in parse_progunit (st=ST_ALLOCATE) at ../../gcc4x/gcc/fortran/parse.c:2328 #9 0x0807a0e0 in gfc_parse_file () at ../../gcc4x/gcc/fortran/parse.c:2631 The 2nd Error is trying to clean up a name space where the reference count has not been increment from 0. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17741
[Bug fortran/17741] ICE in gfc_free_namespace, at fortran/symbol.c:2208
-- What|Removed |Added Severity|normal |minor http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17741
[Bug fortran/17741] ICE in gfc_free_namespace, at fortran/symbol.c:2208
--- Additional Comments From reichelt at gcc dot gnu dot org 2004-09-30 14:20 --- Confirmed. Here's an even shorter testcase: subroutine FOO interface integer function BAR() end subroutine -- What|Removed |Added CC||reichelt at gcc dot gnu dot ||org Status|UNCONFIRMED |NEW Ever Confirmed||1 Keywords||ice-on-invalid-code Last reconfirmed|-00-00 00:00:00 |2004-09-30 14:20:39 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17741