Skip to content

Fix compilation issue with Intel compiler

Michel Rasquin requested to merge fixIntelCompilationIssue into master

When compiling gmsh 4.0.0 with Intel 2017 and 2018, the following error message is encountered:

/home/mrasquin/software/gmsh/src-gitlab/Mesh/QuadTriUtils.cpp(381): internal error: conv_class_prvalue_operand_to_lvalue: couldn't convert to ptr (!t) ? internal_tri.insert(i) : internal_quad.insert(i);

Not sure why Intel complains about this rvalue to lvalue conversion in this specific case while gcc compiles just fine. A quick fix implemented in this merge request consists in replacing (!t) ? internal_tri.insert(i) : internal_quad.insert(i); and similar instructions in the same file by their if/else counterpart, for instance: if (!t) internal_tri.insert(i); else internal_quad.insert(i);

This implementation is less compact but at least the Intel compiler runs fine with this change. Please let me know what you think.

Merge request reports