Intel® C++ Compiler

OpenMP or optimization changed from to

Dear Experts in OpenMP and Intel C  14.x ,

Until version 13.x of Intel C I had the following code :

static  int   fobj_offset(int m, double *a, double *fun)


      int     n = npivot;

      double  *p = ppivot;

      int     i;

      double  cen[3*n];

      double  x=0.0,y=0.0,z=0.0;

      double  err=0.0;

      Tool_Point_Offset[0] = a[0];

      Tool_Point_Offset[1] = a[1];

      Tool_Point_Offset[2] = a[2];

braced-init-list in ranged for loop is not supported (C++11)?

Hi, according C++11 specification (in my case I refer to draft n3376) the following 'for' construction is valid:

#include <iostream>
int main(void) {
    for (auto x : { 0, 1, 2 }){
        std::cout << x;

But trying to compile it with intel c++ compiler gives me error:

main.cpp(3): error : assertion failed at: "shared/cfe/edgcpfe/il.c", line 15066

I have installed the following compiler: Intel® C++ Composer XE 2013 SP1 Update 2 Integration for Microsoft* Visual Studio* 2013, Version 14.0.1290.12

Intel Parallel Studio 2011, Intel C++ Compiler v12 on VS2013



This is a rather odd question, I am currently writing a indy game, many moons ago I forked out the cash to buy the Intel Parallel Studio suite, at the time I was working in the HPC sector, and today not so much, so I let my subscription lapse.

Unfortunatly due to the how boring my job is I decided to make an indy game, and I've update my tool-chain accordingly at least in terms for windows (ie: Visual Studio 2013 pro). Unfortunatly I do not have the money to take repurchase Parallel Studio as its out of my price range now.

[OMP Target] Difference in mapping of global arrays (malloc vs static)

There are 2 ways to have a global array: Use a pointer and malloc, or just define it as an array:

#omp declare target
int gArray[10];
int* gVals /*somewhere later:*/ = malloc(10*sizeof(int));
#omp end declare target

I though, these where equivalent in handling but just discovered a huge difference: When I map them to a target, only the gVals will be actually mapped. If I want the values of gArray on my device I have to use "target update". Is this a bug in the current icc or is this covered in the spec? I could not find anything specific to this.

Compiling qhull

Dear all,

I'm trying to compiler qhull I edited the makefile

by specifying CC = icc and CXX = icpc, I've thought it was enough.

However the compilation fails. There are an additional options for CC/CXX

CC_OPTS1  = -O2 -fPIC -ansi -Isrc/libqhull $(CC_WARNINGS)
CXX_OPTS1 = -O2 -Dqh_QHpointer -Isrc/ -Isrc/libqhullcpp -Isrc/libqhull $(CXX_WARNINGS)

the warning switches are

A member with in-class initializer must be const. What?

I have explicitly enabled C++0x support in my project (latest C++ composer version) and I'm getting the above error. What is going on? The code I'm using is

static bimap<string, Type> typeNames = createTypeNames();

It doesn't seem like this works, and neither does inline initialization (i.e., typeNames = { { "Foo", Type::abc }}).

Some projects can't compile when using C++ Composer XE 2015 beta


Tried the newest Intel C++ Composer XE 2015 Pre-Release beta. (2015.0.0.30)

I can successfully compile most projects without issue.

but I got an error on some projects:

3>xilink: : error #10037: could not find 'llvm_com'

3>xilink: : error #10014: problem during multi-file optimization compilation (code -1)

3>xilink: : error #10014: problem during multi-file optimization compilation (code -1)

Did I miss something?

My IDE is VS2013


Subscribe to Intel® C++ Compiler