Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
FPGA community forums and blogs have moved to the Altera Community. Existing Intel Community members can sign in with their current credentials.
29313 Discussions

Possible bug with non elemental final procedures

Igor666
Novice
1,190 Views

The following code crashes with segmentation fault on `deallocate(copy)`:

module mytype_mod
  implicit none
  
  type :: mytype
    integer :: val
  contains
    final :: finalize_mytype
  end type

contains

  subroutine finalize_mytype(this)
    type(mytype), intent(inout) :: this
  end subroutine
end module



program test_prg
  use mytype_mod
  implicit none
  call test()

contains

  subroutine test()
    type(mytype), pointer :: main(:), copy(:)
    allocate(main(3))
    allocate(copy, source = main)
    deallocate(copy)
  end subroutine
end program

If I make the final procedure `elemental`, then it works. This also seems to have something to do with `source` and `pointer` attributes since I couldn't reproduce the crash without them. To the best of my knowledge, this code should be valid. Tested with ifort 19.0.3.199.

0 Kudos
2 Replies
FortranFan
Honored Contributor III
1,173 Views

This looks like a compiler bug to me.

If you're able to, please submit a support request at Intel OSC: https://supporttickets.intel.com/?lang=en-US

0 Kudos
Igor666
Novice
1,167 Views
0 Kudos
Reply