Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.
7956 Discussions

internal error: assertion failed: find_assoc_pragma: pragma not found (shared/cfe/edgcpfe/il.c, line 19440

wlp
Beginner
589 Views
When compiling the following code with icpc 12.1.0:

const int MAX_INT = 3;

template
class MyClass {
protected:
int array[MAX_INT];
};

int main()
{
#pragma omp parallel sections
{
#pragma omp section
{
MyClass mc;
}
}
}



I get the error:
test.C(6): internal error: assertion failed: find_assoc_pragma: pragma not found (shared/cfe/edgcpfe/il.c, line 19440)

int array[MAX_INT];
^

compilation aborted for test.C (code 4)

Here is how to build it:
/ll/3rdptysw/intel.v12/composer_xe_2011_sp1.6.233/bin/intel64/icpc test.C -o test -openmp -openmp-lib=compat

This error does not occur with version 10 or 11 of the intel compiler.
0 Kudos
3 Replies
JenniferJ
Moderator
589 Views

Thanks for reporting it and also thanks for a small testcase.

I can duplicate this issue on Windows using 12.0 update 4 and update 6 (12.1).
If I replace "MAX_INT" with "3" in the template class, it compiles ok.

Let me file a ticket to the compiler.

Thanks,
Jennifer

0 Kudos
JenniferJ
Moderator
589 Views

This issue has been fixed in the Intel C++ ComposerXE update 9. It is available for download at the Intel Registration Center.

Jennifer

0 Kudos
IDZ_A_Intel
Employee
589 Views
An 'array' type is a built-in type formany C/C++ compilers for a long time and I wonder ifthe problemwas related to that.

Best regards,
Sergey
0 Kudos
Reply