public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/59198] New: ICE on cyclically dependent polymorphic types
@ 2013-11-20  2:30 juergen.reuter at desy dot de
  2013-11-20 14:40 ` [Bug fortran/59198] [4.7/4.8/4.9 Regression] " janus at gcc dot gnu.org
                   ` (24 more replies)
  0 siblings, 25 replies; 26+ messages in thread
From: juergen.reuter at desy dot de @ 2013-11-20  2:30 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 59198
           Summary: ICE on cyclically dependent polymorphic types
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: juergen.reuter at desy dot de

Created attachment 31254
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=31254&action=edit
Code triggering the ICE

Triggers ICE with gfortran 4.9.0 v204344. It compiles with gfortran 4.6.3 (but
in our setup produces seg faults in the final code), ICE is present in 4.6.4,
4.7.3, 4.8.1.
This is the code O(60) lines, also attached:
module decays
  abstract interface
     function obs_unary_int ()
     end function obs_unary_int
  end interface

  type, abstract :: any_config_t
   contains
     procedure (any_config_final), deferred :: final
  end type any_config_t

  type :: decay_term_t
     type(unstable_t), dimension(:), pointer :: unstable_product => null ()
  end type decay_term_t

  type, abstract :: decay_gen_t
     type(decay_term_t), dimension(:), allocatable :: term
     procedure(obs_unary_int),   nopass, pointer :: obs1_int  => null ()     
  end type decay_gen_t

  type, extends (decay_gen_t) :: decay_root_t
   contains
     procedure :: final => decay_root_final
  end type decay_root_t

  type, abstract :: rng_t
  end type rng_t

  type, extends (decay_gen_t) :: decay_t
     class(rng_t), allocatable :: rng
   contains
     procedure :: final => decay_final
  end type decay_t

  type, extends (any_config_t) :: unstable_config_t
   contains
     procedure :: final => unstable_config_final
  end type unstable_config_t

  type :: unstable_t
     type(unstable_config_t), pointer :: config => null ()
     type(decay_t), dimension(:), allocatable :: decay
  end type unstable_t

  interface
     subroutine any_config_final (object)
       import
       class(any_config_t), intent(inout) :: object
     end subroutine any_config_final
  end interface

contains
  subroutine decay_root_final (object)
    class(decay_root_t), intent(inout) :: object
  end subroutine decay_root_final    

  recursive subroutine decay_final (object)
    class(decay_t), intent(inout) :: object
  end subroutine decay_final

  recursive subroutine unstable_config_final (object)
    class(unstable_config_t), intent(inout) :: object
  end subroutine unstable_config_final

end module decays


^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2015-06-23  8:45 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-11-20  2:30 [Bug fortran/59198] New: ICE on cyclically dependent polymorphic types juergen.reuter at desy dot de
2013-11-20 14:40 ` [Bug fortran/59198] [4.7/4.8/4.9 Regression] " janus at gcc dot gnu.org
2013-11-20 15:55 ` janus at gcc dot gnu.org
2013-12-19 15:20 ` rguenth at gcc dot gnu.org
2013-12-19 15:33 ` rguenth at gcc dot gnu.org
2014-01-19 21:31 ` mikael at gcc dot gnu.org
2014-02-09 17:50 ` janus at gcc dot gnu.org
2014-02-22 13:35 ` pault at gcc dot gnu.org
2014-02-22 15:35 ` burnus at gcc dot gnu.org
2014-02-22 16:02 ` paul.richard.thomas at gmail dot com
2014-02-24  9:20 ` paul.richard.thomas at gmail dot com
2014-02-25  9:31 ` pault at gcc dot gnu.org
2014-02-25 13:44 ` paul.richard.thomas at gmail dot com
2014-02-25 20:23 ` pault at gcc dot gnu.org
2014-06-12 13:46 ` [Bug fortran/59198] [4.7/4.8/4.9/4.10 " rguenth at gcc dot gnu.org
2014-12-19 13:40 ` [Bug fortran/59198] [4.8/4.9/5 " jakub at gcc dot gnu.org
2014-12-26 15:59 ` paul.richard.thomas at gmail dot com
2014-12-26 16:25 ` dominiq at lps dot ens.fr
2015-02-17  9:39 ` dominiq at lps dot ens.fr
2015-03-16  8:45 ` pault at gcc dot gnu.org
2015-03-16 11:26 ` juergen.reuter at desy dot de
2015-03-17  5:20 ` pault at gcc dot gnu.org
2015-03-18 20:22 ` [Bug fortran/59198] [4.8/4.9 " anlauf at gmx dot de
2015-03-18 21:19 ` pault at gcc dot gnu.org
2015-03-19 22:23 ` pault at gcc dot gnu.org
2015-06-23  8:47 ` [Bug fortran/59198] [4.8 " rguenth at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).