Hi,
I'm using gmp (https://gmplib.org/) for a project. With c++11 enabled AND using offload to mic, compilation gives me an internal error. I attached a small example for demonstration
$icpc -fopenmp -std=c++11 -wd3218 -I. -o device_nr.o -c device_nr.cpp ./gmpxx.h(1927) (col. 18): internal error: assertion failed at: "shared/cfe/edgcpfe/il_to_str.c", line 6593 compilation aborted for device_nr.cpp (code 4)
The example itself is not important, the relevant part is
#pragma offload_attribute (push,target(mic)) #include <gmpxx.h> #pragma offload_attribute (pop)
The error is then triggered by this line in gmpxx.h
inline mpz_class operator"" _mpz(const char* s)
(which is only active with c++11 enabled). Compilation on the host is no problem, it only happens compilation for mic.
Is this an compile bug?
EDIT: I'm using icpc (ICC) 15.0.0 20140723