Intel® C++ Compiler

Intel Non-Commercial Software Development Programme Discontinued?

Intel used to offer a license for non-commercial software development, valid for a year. I notice the page is under revision, and has been since September, which I interpret as subtle code for discontinued.

https://software.intel.com/en-us/non-commercial-software-development

icpc generates invalid symbol

I am using icpc 11.1.073. I have seen this same behavior with other versions as well. In my cross compilation env, building for SLES11 SP1, icpc generates the following symbol:  _ZNSi5seekgElSt12_Ios_Seekdir 

I link w/ libstdc++ and all is well.

If I use the same compiler and build for RHEL 6.2.0, icpc generates the following symbol for the same source code:

_ZNSi5seekgExSt12_Ios_Seekdir. 

This symbol is not found in libstdc++.  Strangely, this definition is used in the 32bit version of libstdc++.

All compilation is done for 64-bit output.

Bug with nested device data environments implementation

According to OpenMP 4.0 specification page 177 line 17

If a corresponding list item of the original list item is in the enclosing device data
environment, the new device data environment uses the corresponding list item from the
enclosing device data environment. No additional storage is allocated in the new device
data environment and neither initialization nor assignment is performed, regardless of
the map-type that is specified.

When running the program below the output I get is:

Multiple constexpr bugs

Hello,

The following program doesn't compile with icpc version 15.0.1 but compiles fine with clang++ 3.5 and g++ 4.9.2:

#include <iostream>
#include <type_traits>

template<class K>
class Bar {
    public:
        typedef K type;
};

template<class K>
class Foo {
    public:
        static constexpr const char* const foobar = std::is_same<K, typename Bar<K>::type>::value ? "yo" : "lo";
};

OpenMP with multiple processes

 

I have an computational application which makes heavy use of fork to generate subprocesses which carry out (mostly) independent calculations.

With Intel C++ 14.0.3 20140422, I find that the application gives incorrect results for OMP_NUM_THREADS>1 if I have called fork(), but works otherwise. Is there some way to fix this?

Could I, for instance, explicitly shut down OpenMP before the fork and then restart it?

thank you--

Charles

Intel Composer 2015 will throw a Segmentation fault when installed to a docker container

Intel Composer 2015 will throw a Segmentation fault when installed to a docker container. Steps to reproduce (using ubuntu as a host): mkdir data cd data wget http://registrationcenter-download.intel.com/akdlm/irc_nas/4933/l_compxe... tar xvzf l_compxe_2015.1.133.tgz docker run -i -t -v `pwd`:/data ubuntu /bin/bash data/l_compxe_2015.1.133/install.sh # This step will throw segfault ############################## root@8d5781f9642a:/# sh -x data/l_compxe_2015.1.133/install.sh ......

Bug in icc 2015.1.148???

My code:

#include <stdio.h>

int dd, dm, dy, i;
char s[32], d[5];
FILE *file;

int main() {

  file = fopen("d.txt", "r");

  for(i=0; i<5; i++) {

    fgets(s, 30, file);

    d[0]=s[0];
    d[1]=s[1];
    d[2]=0;
    dd=atoi(d);

    d[0]=s[3];
    d[1]=s[4];
    d[2]=0;
    dm=atoi(d);

    d[0]=s[6];
    d[1]=s[7];
    d[2]=s[8];
    d[3]=s[9];
    d[4]=0;
    dy=atoi(d);

    printf("%i %i %i %s", dd, dm, dy, s);

SSA not generating results file

I am trying to run the SSA (2013) on a project of ours  in VS 2010. When I build for static analysis the build completes but I do not get a results file. I do have some link warnings (see below):

1>message.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library
1>library.obj : warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library

Iscriversi a Intel® C++ Compiler