Segfault with final method

Segfault with final method

Hi, I have detected, what I believe, is a bug in ifort (13.0.0 20120731). The following code produces a segfault for no reason known to me.

module mod_b

  type :: b
     final :: finalize
  end type b


  subroutine finalize(self)
    type(b) :: self
  end subroutine finalize

end module mod_b

module mod_t

  use mod_b

  type :: tt
     procedure :: get
  end type tt


  subroutine get( self, box)
    class(tt), target :: self
    type(b), pointer, intent(out), optional :: box
    if( present(box) ) nullify(box)
  end subroutine get

end module mod_t

program d1

  use mod_t
  type(tt) :: t
  call t%get()

end program d1

When any of the options "pointer, intent(out), optional" are altered or removed the segfault disappears.


Paweł Biernat.

4 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.
Best Reply

Hello Pawel,

Thank you for reporting this problem. I have escalated this issue to the developers. The issue number is DPD200236504. I will post any updates I receive to this thread.

Intel Developer Support

Hello Pawel,

A fix has been found for this issue. We are planning to include it in an update which is currently planned for mid-January.


Hello Pawel,

This is issue has been fixed in Intel® Fortran Composer XE for Linux* 2013 Update 3 which is now available at the Intel® Registration Center.


Leave a Comment

Please sign in to add a comment. Not a member? Join today