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

ICE with incorrect component of derived type

Daniel_Dopico
New Contributor I
341 Views

This small code is incorrect and the compiler correclty handles the error, nevertheless it results in an ICE. The following errors are displayed:

  1. Right: error #6460: This is not a component name that is defined in the encompassing structure. [SLDS].
  2. Right: error #6158: The structure-name is invalid or is missing. [AUXSOLIDOS].
  3. Wrong: internal error: Please visit 'http://www.intel.com/software/products/support' for assistance.
  4. Wrong: catastrophic error: Internal Compiler Error: Ref module: ffe_axpnd.c
    compilation aborted for C:\Users\ddopico\OneDrive - Universidade da Coruña\Descargas\temp\Fallo_compilador27\move_alloc_bounds.f90 (code 1)

We are lucky that the ICE is the last and not the first one.

 

 

module SOLIDOS

TYPE SOLIDOBASE
	INTEGER::id=-1,nvc=0
END TYPE SOLIDOBASE

TYPE BODY
    CLASS(SOLIDOBASE),POINTER::SLD=>null()
END TYPE BODY
    
CONTAINS
    SUBROUTINE moveALLOCbounds_lista_SOLIDOS(source)
        TYPE(BODY),ALLOCATABLE,DIMENSION(:)::auxsolidos
        CLASS(SOLIDOBASE),INTENT(IN),OPTIONAL::source

        !Wrong (ICE)
        allocate(auxsolidos%SLDS(i)%SLD, source = source)
        
        !Righ (it compiles)
        !allocate(auxsolidos(i)%SLD, source = source)
    END SUBROUTINE moveALLOCbounds_lista_SOLIDOS
   
end module SOLIDOS

 

3 Replies
Daniel_Dopico
New Contributor I
176 Views

Dear @Devorah_H_Intel. Do you want me to fill in a ticket on this issue?

Best.

Daniel.

0 Kudos
Igor_V_Intel
Employee
172 Views

I have reproduced this bug and escalated to the development team. It will be addressed in the next compiler updates.


Daniel_Dopico
New Contributor I
131 Views

Thank you, Igor.

0 Kudos
Reply