------- Comment #3 from janus at gcc dot gnu dot org  2010-05-13 14:47 -------
(In reply to comment #0)
> fff.f90:26:0: internal compiler error: in gfc_conv_structure, at
> fortran/trans-expr.c:4390

It turns out this ICE is actually due to the NULL() initialization of the class
pointer and has nothing to do with the invalid pointer assignment.

Here is a simpler test case:

  implicit none
  type :: parent
  end type
  class(parent) ,pointer :: this => null()
  call foo(this)

contains

  subroutine foo(this)
    class(parent) :: this
  end subroutine

end


-- 

janus at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
           Keywords|ice-on-invalid-code         |ice-on-valid-code
   Last reconfirmed|0000-00-00 00:00:00         |2010-05-13 14:47:03
               date|                            |
            Summary|[OOP] ICE for invalid       |[OOP] ICE for class pointer
                   |pointer assignment  =>      |=> null() initialization
                   |type%parent                 |


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

Reply via email to