Bug in pgf90 14.9?

I am experiencing an unexpected segfault when running the following simple program, after compiling with pgf90 version 14.9. gfortran 4.8.3 and ifort 14.0.1 seem to handle it just fine. Am I missing something, or is this due a compiler bug?


program run                                                                    
  use types                                                                    
  implicit none                                                                
  type(child2) :: child                                                        
  call child%fun1()                                                            
end program run


module types
  implicit none

  type, abstract :: base
    procedure :: fun1 => base_fun1
    procedure :: fun2 => base_fun2
  end type base

  type, extends(base) :: child1
    procedure :: fun2 => child1_fun2
  end type child1

  type, extends(base) :: child2
    procedure :: fun2 => child2_fun2
  end type child2


  subroutine base_fun1(this)
    class(base) :: this
  end subroutine base_fun1

  subroutine base_fun2(this, temps)
    class(base) :: this
    real, intent(in) :: temps(:)
  end subroutine base_fun2

  subroutine child1_fun2(this, temps)
    class(child1) :: this
    real, intent(in) :: temps(:)
  end subroutine child1_fun2

  subroutine child2_fun2(this, temps)
    class(child2) :: this
    real, intent(in) :: temps(:)
  end subroutine child2_fun2
end module types

Hi Halvor,

Thanks for reporting this issue. I have reported it as TPR #20852. Our developers will investigate, and we will let you know once this issue is fixed.

Best regards,


TPR 20852 - UF: Fortran derived types example crashes

is fixed in the current 15.1 release.