I am trying to compile a code in C++, that uses over-aligned variables. If I try to compile the following code (a MWE) everything runs smoothly if I use icpx or g++ (in all the cases, the flag -std=c++17 is given to the compiler). However, when compiling using Intel icpc, I got the following error and I do not understand
Tag: c++17
Why doesn’t defining `__cxa_throw` cause a link error?
Why doesn’t the following C++ program have a link conflict with the system-provided __cxa_throw ? Is there something magical about that symbol? For a normal function this would be an ODR violation wouldn’t it? Answer As @Igor pointed out, you need to add extern “C” to prevent name mangling. But the cause why it works is because the symbol is
Simple division of labour over threads is not reducing the time taken
I have been trying to improve computation times on a project by splitting the work into tasks/threads and it has not been working out very well. So I decided to make a simple test project to see if I can get it working in a very simple case and this also is not working out as I expected it to.