- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear Fortran Masters,
The code below is given an internal compiler error (C0000005). It seems valid Fortran 2003 to me. The idea of the code is to know the dimensions of the internal arrays of the "stream" data type when the function Solve is called by data types extending taUoO.
The error is obtained using the XE 2015 Composer Edition (latest update).
Thank you in advance, Javier
module mod_UoOAbstract implicit none public :: taUoO, stream private type, abstract :: taUoO integer :: isReady = .false. contains procedure(Solve), nopass, deferred :: Solve end type taUoO type :: stream(nc) integer, len :: nc real(8) :: T real(8) :: P real(8) :: nF(nc) real(8) :: zn(nc) real(8) :: beta real(8) :: h end type stream ! Define calling function prototypes. Concrete subroutines must ! be implemented for the extending types abstract interface ! Stream type is not visible inside the interface, hence it has to be imported subroutine Solve(nc, nFeeds, nProds, nExtns, nParms, feeds, prods, extns, parms) Import stream integer, intent(in) :: nc integer, intent(in) :: nFeeds integer, intent(in) :: nProds integer, intent(in) :: nExtns integer, intent(in) :: nParms type(stream(nc)), intent(inout) :: feeds(nFeeds) type(stream(nc)), intent(inout) :: prods(nProds) type(stream(nc)), intent(inout) :: extns(nExtns) real(8), intent(in) :: parms(nParms) end subroutine Solve end interface end module mod_UoOAbstract
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Just in case (error message)
Compiling with Intel(R) Visual Fortran Compiler XE 15.0.4.221 [IA-32]... mod_UoOAbstract.f90 fortcom: Fatal: There has been an internal compiler error (C0000005). compilation aborted for ...\mod_UoOAbstract.f90 (code 1)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks - I can reproduce this and will let the developers know. Even if the code was not valid, an internal compiler error is never acceptable. Issue ID is DPD200372386.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Out of curiosity: why do you initialize an integer variable with a logical expression?
integer :: isReady = .false.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks - I can reproduce this and will let the developers know. Even if the code was not valid, an internal compiler error is never acceptable. Issue ID is DPD200372386.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear mecej4, good observation. isReady should have been declared as logical not as integer. This is a typo from my side. Still the compiler did not complain!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Mixing numeric and logical is an extension - not a very nice one, but it goes back decades. If you enabled standards checking it would complain. However, this is not relevant to the compiler error.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The cited compiler error is still present in XE 15.0.5.280
Compiling with Intel(R) Visual Fortran Compiler XE 15.0.5.280 [IA-32]... mod_UoOAbstract.f90 fortcom: Fatal: There has been an internal compiler error (C0000005).
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yes, there is no resolution to the internal error yet in the noted Issue ID filed by Steve.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This bug has now been fixed - I expect the fix to be included in compiler version 17.0.1 (Update 1 to Parallel Studio XE 2017).
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page