Intel® C++ Compiler

Exception in native code kills process


Im using Intel compiler 8.1, Linux RHAS 2.1, gcc version 2.96 20000731 (Red Hat Linux 7.2 2.96-118.7.2). I am limited to use only these versions.

Compiler command line:

icpc-shared -o javatestjni.cpp

Java application loads jni library. On jni level exception is throwing and supposedly caught but the process is killed with stack trace (top 5)

#0 0x40085b41 in __kill () at __kill:-1

#1 0x4002b80b in raise (sig=6) at signals.c:65

#2 0x400870c2 in abort () at ../sysdeps/generic/abort.c:88

[BUG ?] internal error: assertion failed at: "shared/edgcpfe/statements.c", line 2341

While compiling the following program with 'icc -c':
#define NEXT_LINE(c)
while ((*(c) != '') && (*(c) != '
') && (*(c) != '
')) {
if (*(c) == '
') {
} else if (*(c) == '
') {
if (*(c) == '
') {
} else {
return -1;

int parse (const char *text)
const char *c = text;
const unsigned int TEMPCHARS = 6;
char buf[TEMPCHARS][96];

Q&A: Fedora Core 6 support

This is a question received by Intel Software Network Support, followed byan answer supplied by our expert contacts at Intel:

Q. Does the Intel C++ Compiler for Linux* 9.1 support Fedora Core* 6 (FC6*)?

A. FC6 is not supported in the 9.1 version. The 9.1 version doesn't support FC5* either.
Please see the followingFAQ about FC5:

visibility and virtual inheritance

First off, I just read that icc 9.1.45 fixed the issues with using -fvisibility=hidden
and link errors. For the most part it works great but it doesn't seem to handle
virtual inheritance properly.
I am creating an executable linked with 2 shared libraries.
The first shared library has an abstract base class (called ABC ) defined, and another
class that does a "public virtual" inhertance of ABC ( called Derived ).
The second library has a class that derives from the "Derived" class ( called Final )

Intel C++ Compilers 9.x for Windows x64 -- potentially buggy code

I'm using a EM64T C++ compiler on Windows x64, tried both 9.0 and 9.1 versions.

When I tried to compile this piece of code:

unsigned long long i=0, istop=1e3, sum=0;

with -Qparallel -QxP -Qip -O3 -DNDEBUG compiler flags,code was compiled with "remark: LOOP WAS VECTORIZED.", and in a disassembly listing I noticed that after optimization RDX reg. was used to store "i" variable. The potential bug is, in myopinion,that the contents of RDXis zeroedby the assembly instruction

xor edx,edx (33 D2)


xor rdx, rdx (48 33 D2)

Cannot link mkl libraries when using intel C++ compiler

I am trying to use the Intel C++ compiler (v 9.1.045) with the Intel
MKL libraries (v 9.0) on FC4 (AMD Opteron Processors). I get this
message during linking:

ld: skipping incompatible /opt/intel/mkl/9.0/lib/em64t/libmkl_lapack.a when searching for -lmkl_lapack

This all works fine if I use gcc instead of icc. Any ideas?

Typecast in C program

I am wondering if type casting using complex data types is a problem with Intel Compiler. It certainly seems to be a problem with MS Visual Studio.

For instance I have some structures say Foo1, Foo2 and are very similar.

I am wondering if I can do the following type cast:
Foo1 val1;
Foo2 val2 = (Foo1) val1;

Using GCC is not a problem. I am wondering how the above expression can be compiled using Intel Compiler.


Mixing C and Fortran with 128bit long doubles

I just tried to compile lapack with "-double_size 128", which works,
since the relevant self-tests work.
However I want to call some lapack routines from C (which works
as expected with normal double-precision arguments).
So my question is: Is there a way to pass 128 bit long doubles
to fortran routines expecting "double precision" , compiled with "-double_size 128"?
Btw.: I looked inside the fortran routine: the values passed on by the C program
never arrive there.

Thanks in advance for any answer,
best regards

Iscriversi a Intel® C++ Compiler