Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
1 View

Catastrophic error in logical comparison

The following error appears:  catastrophic error: **Internal compiler error: internal abort** Please report this error along with the circumstances in which it occurred in a Software Problem Report.  Note: File and line given may not be explicit cause of this error.

I guess that the third "if" is not correct from the Fortran language point of view (even if Intel fortran tolerates this sintax most of the time), but despite of this fact the error shows up. 

!CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
    MODULE tipos_derivados
    IMPLICIT NONE
    TYPE PUNTO_VECTORBASE
    CONTAINS
        PROCEDURE,PASS::integrable=>PUNTO_VECTORBASE_Integrable
    END TYPE PUNTO_VECTORBASE

    CONTAINS

    FUNCTION PUNTO_VECTORBASE_Integrable(pt)
        CLASS(PUNTO_VECTORBASE),INTENT(IN)::pt
        LOGICAL PUNTO_VECTORBASE_Integrable
        
        PUNTO_VECTORBASE_Integrable=.false.
    END FUNCTION PUNTO_VECTORBASE_Integrable
    END MODULE tipos_derivados
!****************************************************************************

    program Catastrophic
    USE tipos_derivados
    implicit none

    ! Variables
    TYPE(PUNTO_VECTORBASE) pt
    
    ! Body of Catastrophic
    
    if(.not.pt%integrable()) print *,'this sentence works'
    if(pt%integrable().eqv..false.) print *,'this sentence also works'
    if(pt%integrable.eqv..false.) print *,'this sentence generates the error'

    end program Catastrophic
!CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC

Dops
0 Kudos
1 Reply
Highlighted
Valued Contributor II
1 View

Your third if-statement is

Your third if-statement is indeed non-conforming - you are comparing a type-bound procedure to a logical value. But internal compiler errors are always a problem of the compiler itself, not the code it is trying to process. I suggest you report this to Intel themselves.

0 Kudos