Intel® Fortran Compiler

detect bad array shape

The following program has a bug.  Do you know if it is possible to have the compiler detect it?  I have tried the following options without success:

/Qtrapuv /Qinit:snan /Qinit:arrays /fpe:0   /check:all

program test_shape
implicit none

real,allocatable,dimension(:):: a, b 
real c

allocate( a(5), b(2) )

b = 0.0
a = b   !!!

c = a(3)
print*, c  ! output: -4.3160208E+08  ???
end program test_shape


Bad optimized assembly code generated for Fortran

When we compile the Fortran code below, we get this error in Visual Studio:

Exception thrown at 0x4B426F3 (kbcunitop.dll) in Petro-SIM.exe: 0xC000005: Access violation reading location 0xFFFFFFFF

I apologize for not being able to include a full project and all the files, but the error is very reproducible using only a small snippet of code, and centers around this snippet of code:

      integer, parameter :: UNINT     = -32767

   DO 20 I = 1 , LMIDEX
      MINDEX (I) = UNINT

The rest is not really relevant.

catastrophic error: **Internal compiler error: segmentation violation signal raised**

I have installed the latest Intel Cluster 2016 Update1 and here is the error message I get when compiling the following realspace_grid_types.f90 file with the command 

mpiifort -FR -c -O2 -pc64 -unroll -qopenmp -heap-arrays 64 -lmkl_scalapack_lp64 -lmkl_intel_lp64 -lmkl_core -lmkl_intel_thread -lmkl_blacs_intelmpi_lp64 -lpthread -lm

here is the mpiifort version:

#mpiifort -V
Intel(R) Fortran Intel(R) 64 Compiler for applications running on Intel(R) 64, Version Build 20151021
Copyright (C) 1985-2015 Intel Corporation.  All rights reserved.

Odd compile error

Trying to track down the reason that my program crashes, I have resorted to building a debug version.  I have built all the libraries, and almost built the main Fortran program, but I am getting an error in one file.  This file contains a just set of interfaces, each of which looks very much like the last one, shown here:


Blank Common Block


      PARAMETER (NTSTP=1000000)
      common l(NTSTP)
call inelem (l(knsb),l(kndfsb),l(kcosb),l(kndid),l(kcoord),
     1             l(kid),l(klstif),l(k1),ndtp,nsnds,nnods,ntnds,
     2             nchar,nelgr,neltot,nelg,kdata)
SUBROUTINE INELEM (nsb,ndfsb,cosb,ndid,coord,
     1                   id,lstif,ielnod,ndtp,nsnds,nnods,ntnds,
     2                   nchar,nelgr,neltot,nelg,kdata)


订阅 Intel® Fortran Compiler