internal error: assertion failed at: "shared/cfe/edgcpfe/il.c", line 16276
I use Intel Composer XE 2011 Update 9 build 300 to build my project, then I got the error 'internal error: assertion failed at: "shared/cfe/edgcpfe/il.c", line 16276', caused by a macro defined in my code.The macro is used at many places, but just a few are reported the error.
I wander to know what caused this problem and how to modify my code.
It's fair to assume this is a compiler bug. You should examine how your macro expanded in the pre-processed code (e.g. icc -E yourfile.c > yourfile.i) (and perhaps compare with similar pre-processing by gcc) in case that gives you hints. Compile the pre-processed file to check that the bug is still present. You would need this pre-processed file to submit a problem report. You could try less aggressive compiler options, such as adding -fno-inline-functions -fp-model source, and possibly -no-vec or -O0, in case those make a difference.
that's a compiler bug in the front-end (parsing your preprocessed source file). To solve it we'd need a (small) reproducer: a small preprocessed source file with compiler options that shows this problem.
I know this is much I'm asking for but it's the only constructive way for us to understand and fix the problem. In case you're allowed to share portions of the code with me (e.g. private reply) I can create a reproducer for engineering on my own. Once engineering has such a reproducer it's very likely to get it fixed soon.
A quick query in our defect database does not show a similar problem being posted yet.