Intel® Fortran Compiler

Compiler crash in OpenMP code


The following code raises an internal error with ifort 15.0.2 and 16.0.1:

catastrophic error: **Internal compiler error: segmentation violation signal raised** 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.

At what point during debugging are Functions evaluated?

I have some code that calls a passed-in function called YDDZIC inside a loop. For 22 iterations this works fine but on the 23rd it crashes out of the whole program when it hits the END statement of the YDDZIC Function. The table below shows a side-by-side comparison of the local variables on the 22nd (left) and 23rd(right) iterations. The obvious difference here is that BRTS and X_1 are undefined in the 23rd iteration, it is also notable that I5, IBODY0 and IX0 are negative, these are used as array indices.

Fortran -> C Interop Struggle


Trying to bone-up on calling C routines from Fortran in IVF Parallel Studio XE 2015 Composer. I thought the code was fairly simple & straight forward but a persistent error is stumping me...

error #6634: The shape matching rules of actual arguments and dummy arguments have been violated.   [IX] [IY] 

The error is at the call to C_routine - "call C_croutine (ix, iy, icountsin, icountsout)"

I thought everything pertaining to arrays ix & iy was in agreement but...IVF doesn't agree. I'm sure it is something simple.

I/O slower in Intel Fortran 2016


I have updated the Intel Fortran from 2013 SP1 to 2016 recently and found the I/O speed of 2016 is very slower than 2013. To read a bigger txt file( 3.67G), the program compiled with Intel Fortran 2013 costs about 2 minutes and the one compiled with Intel Fortran 2016 costs about 4 minutes. I have used the same codes and same compiler options. The following are the compiler options:

Link Not Searching Lib

My build looks like:


G:\Desktop\Pearson>rem Build script for Pearson
G:\Desktop\Pearson>deftofd resource.h resource.fd
G:\Desktop\Pearson>rc Pearson.rc
Microsoft (R) Windows (R) Resource Compiler Version 6.3.9600.17298
Copyright (C) Microsoft Corporation.  All rights reserved.

OpenMP bug when combining IF and DEPEND clauses in a TASK construct


I believe the following code produces an incorrect result:

program main
!$ use omp_lib
  integer a,i
  !$omp parallel
  !$omp master
  do i=1,10
  !$omp task firstprivate(i) if(i>5) depend(inout:a)
    write(*,*) '--->',i
  !$omp end task
  !$omp end master
  !$omp end parallel 
end program

What happens is the undeferred tasks (those for which the IF clause evaluates to false) are not executed at all, i.e., the code prints:

Associate construct ICE


Before deploying the latest version of the compiler (XE 2016), I was trying to compile some existing code and I got an ICE in every routine that uses the associate construct. The construct is used to associate a local variable to a derived type that is allocated through the malloc function. Wou will find attached a simple Visual Fortran project that compiles and runs fine with the compiler version we are currently using (Intel(R) Visual Fortran Compiler XE [IA-32]) but generates an ICE with version 16.0 as shown below:

Intel® Fortran Compiler abonnieren