Intel® Fortran Compiler

reordering a vector

I have a vector, REAL(4)::V(1000). Say that the largest one happens to be V(123). I need to re-order the values so that V begins with the largest, i.e. Vnew(1) = Vold(123)
Vnew(2) = Vold(124)
​Vnew(878) = Vold(1000)
​Vnew(879) = Vold(1)
Vnew(880) = Vold(2)
Vnew(1000) = Vold(122)

Internal compiler error : Allocatable with Parameterized Derived Types

------ Build started: Project: ICEBug20170521, Configuration: Debug|Win32 ------

Compiling with Intel(R) Visual Fortran Compiler [IA-32]...
E:\20160922\Program\20170520DiagNew\20170520DiagNew\ICE.f90(1): 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 E:\20160922\Program\20170520DiagNew\20170520DiagNew\ICE.f90 (code 1)

Error extending extended types

I am trying to use the object orientated features of Fortran (Essentially, what I want to be able to do is to get an array of arraies, where each element of the outer array has a different size), and I have run into the following error,Is this a bug?>
Undefined symbols for architecture x86_64:

  "_valout_", referenced from:
      _TBPLIST_PACK_3.0.1 in ifortgrMMR7.o

Executable created with the debug option is slow to start execution

I am developing a small program. I have chosen 'Debug' from the dropdown menu in Microsoft Fortran Visual Studio. When I compile and link the program and then try to execute it in a DOS window, it can take several minutes to start execution. If I execute it again without re-compiling it, execution will start with only a ~10 second delay. If I execute it a third time without recompiling, execution starts instantly. But if I modify the source code, then re-compile and link the first execution of the new executable is again delayed by several minutes.

Calling C++ (cpp objects) from a Fortran subroutine

Is there a way to access a C++ object from a Fortran subroutine? My subroutine is like this:

subroutine fsub(...)

! If first time calling, call to a cpp function and do initialization (i.e., create the c++ object) .

! Call to a cpp function which will access to the c++ object and do calculations.


The subroutine "fsub" will be called by the Fortran "main" program many times. I guess the problem is how to keep the c++ object alive each time after the subroutine "fsub" returns and how to access the c++ object in the next time.

Does seterrormodeqq do anything any more?

I was just trying out the example program 1 for SETERRORMODEQQ in the compiler documentation and it appears that no system prompt appears regardless of the setting of pmode.

This is with a console application (debug/x86) built with XE2015U1 run on Windows 10 Enterprise 1511 x64.

If it doesn't have an effect in modern versions of Windows, I would like to remove it to improve portability.

Compiler Version 2016 two times slower than 2012


As we switched to a newer version of the Intel Fortran Compiler (from 13.0.3600.2008 to 16.0.0063.14) we realized that our application became sigificantly slower.
In order to identify the problem, we wrote a simple "Hello World" program (only that it writes 1 million times "Hello World" to a file).

The benchmark results are:
Old Version: 2.58sec or 41.2 Mbit/s write speed
New Version: 4.77sec or 22.3 Mbit/s write speed

Is there a way to get back to the original performance?

Best regards

Here is the "Hello World" test program:

How to pass an allocated array to C?

In a Fortran subroutine, I allocate an array. This subroutine calls a C++ function, which will store its results in the allocated array. I am having trouble passing the address of the allocated array to the C++ function.

Here is what I am doing now:

    TYPE(C_PTR) :: pOutput  

[Updated] Problems with PSXE 2017 Update 4 and VS 2017 (missing rc.exe and digitally not signed drivers)


I am trying to install Update 4 with VS 2017. In short, I am facing the "rc.exe not found" error that was also present with VS 2015 but the instructions found on this forum don't seem to apply as I don't see any option to include "Common tools", and I did select "Desktop development with C++" when installing VS 2017.

More details:

This is a clean install of Windows 10 (1703), so no previous VS or PSXE versions are present.

When installing VS 2017 (Professional), I have selected only the "Desktop development with C++" Workload.

Subscribe to Intel® Fortran Compiler