I have been trying to convert a C++ MPI code into OpenMP. There are large number of static member variables (mostly dynamic lists of class objects), and i am trying to use 'thread_local' to make sure there are no conflicts. But the file does not compile and threw error: "error: expected a ";"". I was using ICC 14.
When i tried to use ICC 15 beta version, the particular file where i used thread_local compiled, but the compilation of the whole application failed at some other point: "undefined reference to '__cxa_thread_atexit'".
Would greatly appreciate help in solving this issue.
Unfortunately, the thread_local issue is not yet resolved. I was able to get it compiled once, but when i did a clean build of the whole application, the problem 'undefined reference to __cxa_thread_atexit' is still there.
Using the latest gcc (4.9.0) removes the above error but throws another error: 'error: identifier "__builtin_ia32_vfmaddss" is undefined'. (I used -cxxlib flag in icpc for providing the latest gcc path).