Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

Internal compiler error (C0000005)

Goicochea__Javier
Principiante
1.412 Visualizações

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

 

0 Kudos
10 Respostas
Goicochea__Javier
Principiante
1.412 Visualizações

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)

 

Steven_L_Intel1
Funcionário
1.412 Visualizações

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.

mecej4
Colaborador honorário III
1.412 Visualizações

Out of curiosity: why do you initialize an integer variable with a logical expression?

integer     :: isReady = .false.

 

Steven_L_Intel1
Funcionário
1.412 Visualizações

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.

Goicochea__Javier
Principiante
1.412 Visualizações

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!

 

 

Steven_L_Intel1
Funcionário
1.412 Visualizações

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.

Goicochea__Javier
Principiante
1.412 Visualizações

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).

 

Kevin_D_Intel
Funcionário
1.412 Visualizações

Yes, there is no resolution to the internal error yet in the noted Issue ID filed by Steve.

Steven_L_Intel1
Funcionário
1.412 Visualizações

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).

acar
Principiante
1.412 Visualizações
This comment has been moved to its own thread
Responder