Creating a mesh generator resets a critical data structure and makes all existing meshes invalid. Hence the SMESH_gen is made a singleton and all FreeCAD code is changed accordingly.
The Warnings was about hiding bases class RemoveElement() and
RemoveFreeElement() virtual methodes which may caused calling wrong
function by bases class pointer.
Warning was like:
src/3rdParty/salomesmesh/src/SMESHDS/SMESHDS_Mesh.cpp|1028 col 5| warning: add explicit braces to avoid dangling else [-Wdangling-else]
src/3rdParty/salomesmesh/src/SMESH/SMESH_MeshEditor.cpp|7377 col 27| warning: '&&' within '||' [-Wlogical-op-parentheses]
warning was:
src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_Penta_3D.cpp|832 col 9| warning: logical not is only applied to the left hand side of this comparison [-Wlogical-not-parentheses]
Warnings was:
src/3rdParty/salomesmesh/src/SMESH/SMESH_Mesh.cpp|617 col 19| warning: logical not is only applied to the left hand side of this comparison [-Wlogical-not-parentheses]
|| bool isAlgo = ( !anHyp->GetType() == SMESHDS_Hypothesis::PARAM_ALGO );
|| ^ ~~
src/3rdParty/salomesmesh/src/Controls/SMESH_Controls.cpp|2165 col 31| warning: '&&' within '||' [-Wlogical-op-parentheses]
|| if ( !aMinStr.IsEmpty() && !aMinStr.IsIntegerValue() ||
Lots of warnings like:
src/3rdParty/salomesmesh/src/SMESHDS/SMESHDS_Command.cpp|57 col 6| warning: logical not is only applied to the left hand side of this comparison [-Wlogical-not-parentheses]
|| if (!myType == SMESHDS_AddNode)
||
Most of them resulted in conditions being always false.
Warnings like:
warning: array index 2 is past the end of the array (which contains 2 elements) [-Warray-bounds]
All was due to small defined size of the onstack array.
Warning was:
src/3rdParty/Pivy-0.5/coin_wrap.cpp|244969 col 15| warning: comparison of function 'time' not equal to a null pointer is always true [-Wtautological-pointer-compare]
|| if (time != NULL) {
|| ^~~~ ~~~~
This one supposed to be a copy-paste typo.
When using a CLbundler libpack, PYTHON_LIBRARY has both optimized and debug
libs, but it doesn't when using an old libpack, which was the reason for
commit f5a4e680