https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69654

Harald Anlauf <anlauf at gmx dot de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |anlauf at gmx dot de

--- Comment #2 from Harald Anlauf <anlauf at gmx dot de> ---
Slightly reduced test case:

Module foo_pointers_class
  implicit none
  type :: ty_foo_pointers
     class(*),pointer :: foo => NULL()
  end type ty_foo_pointers

  type :: ty_class_basis
  end type ty_class_basis
End Module foo_pointers_class

Module foo_class
  use foo_pointers_class
  implicit none
  type,extends(ty_class_basis) :: ty_foo2
     type(ty_foo_pointers)     :: foo
  end type ty_foo2
End Module foo_class

Module foo_scripts_mod
  use foo_class, only: ty_foo2
  implicit none
contains
  subroutine foo_script1
    type(ty_foo2) :: foo2
    Call foo_init2(foo2)
  end subroutine  foo_script1

  subroutine foo_init2(self)
    type(ty_foo2),target :: self
  end subroutine foo_init2
End Module foo_scripts_mod


The ICE goes away when the pointer initialization is removed.
I think there are similar (related?) PRs.

Reply via email to