I noticed a strange behavior of the Intel C++ compiler when trying to compile the (already preprocessed) piece of code in the attachment. In fact, when compiling with:
[bash] icpc -std=c++0x -g -O0 -c global.i[/bash]or with:
[bash] icpc -std=c++0x -O0 -openmp -c global.i[/bash]an object file is created correctly, while when compiling with both the "-openmp" and "-g" flags:
[bash] icpc -std=c++0x -g -O0 -openmp -c global.i[/bash]I get the following message:
[bash](0): internal error: backend signals compilation aborted for global.i (code 4) [/bash]I tried without success to isolate the problem in a smaller example. Honestly I still don't understand if it is a compiler issue or something related to system libraries. I tried only the latest version of the Intel C++ compiler:
[bash]$ icpc --version icpc (ICC) 12.0.4 20110427 Copyright (C) 1985-2011 Intel Corporation. All rights reserved. [/bash]
Is anyone able to reproduce this behavior? In any case, should anybody have a clue on this please post a reply.
Many thanks in advance,
I can reproduce this also with icpc 12.0.5. I also tested it with the next upcoming update of the compiler and the error is already fixed there.
and many thanks for your reply!
May I ask, out of curiosity, which was the cause of the problem and if a workaround esists for compiler versions <= 12.0.5?
Many thanks again,
because this is an internal error I didn't see more than you on this. Because this is already fixed, the engineering team will not start an investigation on it. So I couldn't give you an answer why.
I tried some options to find a workaround but without of luck. Because optimization is already disabled this is likely a problem on the compiler frontend. To find a workaround you can try to reorganize your code. But this could be a lengthy task. If there is no immediate need, try to wait for the next update and the fix of the problem.