Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
29285 Discussions

ICE for elemental procedure called using a allocatable array of deferred-length character

FlyingHermes
New Contributor I
397 Views

The following code generate an ICE.

It seems to be connected to the used of a allocatable array of deferred-length character as an actual argument to an elemental procedure.

I'm not sure if this is valid nor supported. The error occurs with ifort version 16.0.0, while everything goes smoothly with ifort version 15.0.0

Program Main
  character(:)  ,dimension(:)   ,allocatable    ::      Str1
  allocate( Str1, source = ['This','is','a','string'] )
  Str1  =       Proc_Elemental(Str1)
  contains
  Elemental Function Proc_Elemental(StrInp) result(StrOut)
    character(*)                  ,intent(in)     ::      StrInp
    character(len(StrInp))                        ::      StrOut
    StrOut        =       StrInp
  End Function
End Program

Here is the output with v16:

$ /opt/intel/compilers_and_libraries_2016.0.109/linux/bin/intel64/ifort main.f90 
010101_14247

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.
compilation aborted for main.f90 (code 1)

 

0 Kudos
1 Reply
Steven_L_Intel1
Employee
397 Views

Fixed in Update 1 (real soon now...)

0 Kudos
Reply