The compiler cooofd and died when it saw my bad code

The compiler cooofd and died when it saw my bad code

Erroneous code ahead!

MODULE Entities
  IMPLICIT NONE
  
  PRIVATE
  
  TYPE, PUBLIC :: EntityRef
    TYPE(EntityTable), POINTER :: table => NULL()
  END TYPE EntityRef
  
  TYPE, PUBLIC :: EntityTable
    TYPE(EntityTable), POINTER :: parent => NULL()
    INTEGER :: component_i_forgot_to_reference
  END TYPE EntityTable
CONTAINS
  SUBROUTINE WriteEntityRef(unit, ref)
    INTEGER, INTENT(IN) :: unit
    TYPE(EntityRef), INTENT(IN) :: ref
    !***************************************************************************
    WRITE (unit, "(I0)", ADVANCE='NO')  &
        ref%table   ! <-- BAD PROGRAMMER FORGOT COMPONENT.
  END SUBROUTINE WriteEntityRef
END MODULE Entities

results in:

>ifort /check:all /warn:all /standard-semantics Entities.f90
Intel(R) Visual Fortran Intel(R) 64 Compiler XE for applications running on Intel(R) 64, Version 14.0.0.103 Build 20130728
Copyright (C) 1985-2013 Intel Corporation.  All rights reserved.
fortcom: Fatal: There has been an internal compiler error (C00000FD).
compilation aborted for Entities.f90 (code 1)

plus some head smacking when I realised what I'd done wrong, after preparing the above example.

3 Beiträge / 0 neu
Letzter Beitrag
Nähere Informationen zur Compiler-Optimierung finden Sie in unserem Optimierungshinweis.

Hi Ian

I will investigate the issue. Thanks very much for the small test case

Heinz

the problem has been reported already and got fixed internally a few days ago. Issue number is DPD200248140. The fix will be available in an update of compiler 14.0

Kommentar hinterlassen

Bitte anmelden, um einen Kommentar hinzuzufügen. Sie sind noch nicht Mitglied? Jetzt teilnehmen