Intel® Visual Fortran Compiler for Windows*

Command Shell Errors

We just installed Intel Parallel Studio XE 2016 with Visual Studio 2013 already installed. When we open the command shell, we are getting errors as follows:

Copyright (C) 1985-2015 Intel Corporation. All rights reserved. Intel(R) Compiler 16.0 (package 110)

ERROR: Cannot determine the location of the VS Common Tools Folder.

c:\fortranfolder>ifort test.f

vectorization of short array constructor

forall(i=1:n/2) a(i*2-1:i*2)= b(i)+ [c(i),e(i)] *d(i)

generates efficiently vectorized code with current gfortran, but ifort says there is a dependency which prevents vectorization, regardless of application of directives etc.

Needless to say, more practical examples are more complicated than this, but they seem to encounter the same problem.

In general, one might be more interested in having this work with DO CONCURRENT, if not with original DO, but it seems there is no difference here among them.

OpenMP: initialize Threadprivate

Dear folks,
let's suppose to have this FORTRAN module:

MODULE MyUtility



INTEGER :: i1, i2, i3, i3

REAL*8 :: r1,r2,r3


SUBROUTINE work(x,y)

REAL*8 :: x,y

REAL*8, SAVE :: a

a = x*y

y = a*x




And let's suppose that, before parallelizing the code:

  • Each global variable is initialized before the parallel job

    They are independent inside the job

Namelist problem


I use the namelist to save the data to a file. If some variables in the namelist change places or if a new variable is added to the namelist, there is no problem when data are reading from the file. But if even one variable is deleted from the namelist, so other variables in the namelist can not be read from the file any more.

How can i read the data from the file if one variable is deleted from the namelist?

Thank you in advance!

Deallocation now required?

We have a lot of Fortran code, which compiled and run fine under Intel Fortran 12.1 (Windows). However, under version 16.0,  we find some runtime errors around arrays having been already allocated.

Intel's help and the Fortran standard say that these deallocate statements should not be necessary:

If a RETURN or END statement terminates a procedure, an allocatable array has one of the following allocation statuses:

  • It keeps its previous allocation and association status if the following is true:
Assine o Intel® Visual Fortran Compiler for Windows*