[Bug fortran/30531] allocatable component and intent(out) yield ICE in fold_convert
--- Comment #11 from pault at gcc dot gnu dot org 2007-03-18 15:01 --- Subject: Bug 30531 Author: pault Date: Sun Mar 18 15:00:55 2007 New Revision: 123037 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=123037 Log: 2007-03-18 Paul Thomas <[EMAIL PROTECTED]> PR fortran/30531 PR fortran/31086 * symbo.c : Add gfc_derived_types. (gfc_free_dt_list): Free derived type list gfc_derived_types. (gfc_free_namespace): Remove call to gfc_free_dt_list. (gfc_symbol_done_2): Call gfc_free_dt_list. * gfortran.h : Declare gfc_derived_types to be external. Remove derived types field from gfc_namespace. * resolve.c (resolve_fl_derived): Refer to gfc_derived types rather than namespace derived_types. (resolve_fntype): Remove special treatment for module derived type functions. * trans-types.c (gfc_get_derived_type): Remove search for like derived types. Finish by copying back end declaration to like derived types in the derived type list gfc_derived_types. 2007-03-18 Paul Thomas <[EMAIL PROTECTED]> PR fortran/30531 * gfortran.dg/used_types_14.f90: New test. PR fortran/31086 * gfortran.dg/used_types_15.f90: New test. Added: trunk/gcc/testsuite/gfortran.dg/used_types_14.f90 trunk/gcc/testsuite/gfortran.dg/used_types_15.f90 Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/gfortran.h trunk/gcc/fortran/resolve.c trunk/gcc/fortran/symbol.c trunk/gcc/fortran/trans-types.c trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30531
[Bug fortran/30531] allocatable component and intent(out) yield ICE in fold_convert
--- Comment #10 from patchapp at dberlin dot org 2007-03-10 12:55 --- Subject: Bug number PR30531 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/2007-03/msg00602.html -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30531
[Bug fortran/30531] allocatable component and intent(out) yield ICE in fold_convert
--- Comment #9 from paulthomas2 at wanadoo dot fr 2007-03-08 18:12 --- Subject: Re: allocatable component and intent(out) yield ICE in fold_convert Daniel, > --- Comment #8 from dfranke at gcc dot gnu dot org 2007-03-08 16:36 > --- > Paul, could you have a look at PR31086? I just filed it before I had a look > here. It may be a dupe, but if so, with a different testcase ... > I suspect that it is indeed a duplicate - of pr30531. I'll take a look at both this weekend. Thanks for bringing it to my attention. As it happens, one of my Bugzilla searches includes your name as reporter - I find that you are one of those that consistently provide humdingers:) Paul -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30531
[Bug fortran/30531] allocatable component and intent(out) yield ICE in fold_convert
--- Comment #8 from dfranke at gcc dot gnu dot org 2007-03-08 16:36 --- Paul, could you have a look at PR31086? I just filed it before I had a look here. It may be a dupe, but if so, with a different testcase ... -- dfranke at gcc dot gnu dot org changed: What|Removed |Added CC||dfranke at gcc dot gnu dot ||org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30531
[Bug fortran/30531] allocatable component and intent(out) yield ICE in fold_convert
--- Comment #7 from pault at gcc dot gnu dot org 2007-02-22 20:36 --- (In reply to comment #6) > Created an attachment (id=12987) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12987&action=view) [edit] > This fixes the PR > > This is just now regtesting - I am pretty sure that it is OK. It will take a > day or two to feed into the loop. > > Paul > This patch fixes the problem but does not regtest - needs thought. Paul -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30531
[Bug fortran/30531] allocatable component and intent(out) yield ICE in fold_convert
--- Comment #6 from pault at gcc dot gnu dot org 2007-01-31 14:18 --- Created an attachment (id=12987) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12987&action=view) This fixes the PR This is just now regtesting - I am pretty sure that it is OK. It will take a day or two to feed into the loop. Paul -- pault at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |pault at gcc dot gnu dot org |dot org | Status|NEW |ASSIGNED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30531
[Bug fortran/30531] allocatable component and intent(out) yield ICE in fold_convert
--- Comment #5 from pault at gcc dot gnu dot org 2007-01-31 09:26 --- Dear All, This is yet another derived type association problem in trans-types.c(gfc_get_derived_type). If you insert a "use foo_type_mod" in module foo_mod, the problem goes away. I believe the INTENT(OUT) changes the order in which the different references to type foo_type are visited; I believe one of them, most likely in the interface, is not being registered in the namespace. I will investigate further - it's a matter o perspiration now, rather than inspiration. Paul -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30531
[Bug fortran/30531] allocatable component and intent(out) yield ICE in fold_convert
--- Comment #4 from sfilippone at uniroma2 dot it 2007-01-22 14:43 --- (In reply to comment #3) > Slightly reduced testcase below. It's all about allocatable components and > intent(out). Remove one or the other, and it's gone. Adding Erik Edeelman and > Paul Thomas (although he does not have time now) to the CC list. > Intent(out) was also the ultimate source of PR 30202...is this related? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30531
[Bug fortran/30531] allocatable component and intent(out) yield ICE in fold_convert
--- Comment #3 from fxcoudert at gcc dot gnu dot org 2007-01-22 10:16 --- Slightly reduced testcase below. It's all about allocatable components and intent(out). Remove one or the other, and it's gone. Adding Erik Edeelman and Paul Thomas (although he does not have time now) to the CC list. $ cat a.f90 module foo_type_mod type foo_type integer, allocatable :: md(:) end type foo_type end module foo_type_mod module foo_mod interface subroutine foo_initvg(foo_a) use foo_type_mod Type(foo_type), intent(out) :: foo_a end subroutine foo_initvg end interface contains subroutine foo_ext(foo_a) use foo_type_mod Type(foo_type) :: foo_a call foo_initvg(foo_a) end subroutine foo_ext end module foo_mod $ gfortran a.f90 -c a.f90: In function foo_ext: a.f90:18: internal compiler error: in fold_convert, at fold-const.c:2154 -- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2007-01-22 10:16:38 date|| Summary|ICE in fold_convert|allocatable component and ||intent(out) yield ICE in ||fold_convert http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30531