- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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)
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page