Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Mike_Kinghan
Beginner
136 Views

icpc 13.0 beta can't yet compile std::shared_ptr from the gcc 4.7 headers.

The following program provokes an internal compiler error in icpc 13.0.0 betawith the gcc 4.7 standard library on Fedora 17:
#include
int main(){return 0;}
The build output is:-
make[1]: Entering directory `/home/imk/develop/coan-5.0/non-dist-builds/linux/icc/sandbox'
icpc -c "/home/imk/develop/coan-5.0/non-dist-builds/linux/icc/sandbox/main.cpp" -g -O0 -Wall -std=c++0x -isystem=/usr/include/c++/4.7.0 -o ./Debug/main.o -I. -I.
/usr/include/c++/4.7.0/bits/shared_ptr_base.h(247): internal error: assertion failed at: "shared/cfe/edgcpfe/expr.c", line 5379
while (!__atomic_compare_exchange_n(&_M_use_count, &__count, __count + 1,
^
compilation aborted for /home/imk/develop/coan-5.0/non-dist-builds/linux/icc/sandbox/main.cpp (code 4)
make[1]: *** [Debug/main.o] Error 4
make[1]: Leaving directory `/home/imk/develop/coan-5.0/non-dist-builds/linux/icc/sandbox'
make: *** [All] Error 2
I do not badly need a solution for this; was just testing the beta's gcc 4.7 compatibility.
0 Kudos
3 Replies
Judith_W_Intel
Employee
136 Views


Since I don't have access to a Fedora 17 system, can you providea preprocessed file please? Just compile the file ex.cppnormally but adding the -P option, i.e. compile ex.cpp

// ex.cpp
#include
int main() { return 0; }

icpc -P -std=c++0x -isystem=/usr/include/c++/4.7.0-cex.cpp

and then attach the ex.i file to your reply. this will contain all the code in the system headers.

thanks
Judy
Judith_W_Intel
Employee
136 Views


Also what beta version are you using? We believe this may be fixed in the latest beta update.

thanks
Judy
bernaske
New Contributor I
136 Views

Hi, yes its fixed i have the sample recompile under openSUSE 12.2 Beta2 64 Bit with the Intel Parallel Studio XE 2013 Beta
(2013.0.060 update)
no problems , no erroes
Reply