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 on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
29280 Discussions

final + class argument is subroutine : Internal Compiler Error/abort

kostas85
Beginner
581 Views

Hello all,

The following code during compilation gives: 

010101_13492

catastrophic error: **Internal compiler error: internal abort**

The code compiles normally by removing the final or changing the class keyword to type keyword. Note that it compiles normally with the previous version but not with Version 15.0.0.090 Build 20140723. Please let me know if you can reproduce the above. Thank you!  

module abst

implicit none 

private

type, public :: t1
  logical :: bnd=.true.
 contains
 !- by removing the final it compiles normally
  final :: final_t1
end type t1

 logical,public :: my_first=.true.

 contains 

 subroutine final_t1(tt1)
 type(t1), intent(inout) :: tt1
 my_first =.false.
 end subroutine final_t1

end module abst

module funs_abst

use abst

implicit none

 contains 

subroutine this_that(tt1)
!- changing from class to type compiles normally
class(t1), dimension(:), intent(out) :: tt1
!type(t1), dimension(:), intent(out) :: tt1
if (all(tt1%bnd)) then
    print *, "ok", my_first
else
    print *, "not ok", my_first
end if
end subroutine

end module funs_abst

program test

use abst
use funs_abst

implicit none
class(t1),dimension(:), allocatable :: hey

allocate(hey(10))

call this_that(hey)

end program test
0 Kudos
1 Reply
Kevin_D_Intel
Employee
581 Views

I reproduced the internal error with the 15.0 compiler you noted and forwarded this defect to Development (see internal tracking id below). I will keep you updated about a fix. Thank you for the convenient reproducer.

(Internal tracking id: DPD200361993)

0 Kudos
Reply