trelau / SMESH

Mesh module from the Salome Platform
GNU Lesser General Public License v2.1
50 stars 31 forks source link

add noexcept.patch #41

Closed looooo closed 3 years ago

looooo commented 3 years ago

@trelau please wait with merging, there are some more c++17 errors

looooo commented 3 years ago

@trelau I still see some of these errors. But I think this one should be patched. Is it possible that the headers are created from the git-submodules instead of the copied / prepared files?

$PREFIX/include/smesh/NETGENPlugin/NETGENPlugin_SimpleHypothesis_2D.hxx:46:36: error: ISO C++17 does not allow dynamic exception specifications
   46 |   void SetNumberOfSegments(int nb) throw (SALOME_Exception);
      |                                    ^~~~~
$PREFIX/include/smesh/NETGENPlugin/NETGENPlugin_SimpleHypothesis_2D.hxx:56:45: error: ISO C++17 does not allow dynamic exception specifications
   56 |   void SetLocalLength(double segmentLength) throw (SALOME_Exception);
      |   
trelau commented 3 years ago

Not sure I know what you mean. But, any chance those are being missed because you apply the patch from src instead of src/SMESH like the other patches? That's just a wild guess, haven't been able to look into yet. Would it be possible to do a simple find and replace in the patch file to use src/SMESH instead?

looooo commented 3 years ago

Not sure I know what you mean. But, any chance those are being missed because you apply the patch from src instead of src/SMESH like the other patches?

I made the diff also on the src directory.

I tried that with python but it didn't worked for me. Also there are 5 different throws that have to be replaced.

trelau commented 3 years ago

@looooo did you happen to check to see if this fixes the osx crashes for some reason? #37

looooo commented 3 years ago

@looooo did you happen to check to see if this fixes the osx crashes for some reason?

No, not yet. This was necessary to compile FreeCAD for linux. I think c++17 is now the default for freecad. I will test soon :).

looooo commented 3 years ago

@trelau is it possible to create a minor release 4.6.1 with the noexcept update? This would simplify the procedure to get the condo-forge package updated.

trelau commented 3 years ago

@looooo done https://github.com/trelau/SMESH/releases/tag/v9.6.0.1

looooo commented 3 years ago

thx

looooo commented 3 years ago

@looooo did you happen to check to see if this fixes the osx crashes for some reason? #37

@trelau the noexcept patch has no influence on the osx-issue. I am still getting this crash-report with freecad:

0   libSMDS.dylib                   0x00000001d8553b7b SMDS_ElementChunk::~SMDS_ElementChunk() + 283
1   libSMDS.dylib                   0x00000001d8551c49 SMDS_ElementFactory::Clear() + 121
2   libSMDS.dylib                   0x00000001d855cd9a SMDS_Mesh::Clear() + 42
3   libSMESHDS.dylib                0x00000001d84c73a6 SMESHDS_Mesh::ClearMesh() + 54
4   libSMESH.dylib                  0x00000001d8188c97 SMESH_Mesh::~SMESH_Mesh() + 263
5   libSMESH.dylib                  0x00000001d818919e SMESH_Mesh::~SMESH_Mesh() + 14
6   Fem.so                          0x00000001d5e46e53 Fem::FemMesh::~FemMesh() + 131
7   Fem.so                          0x00000001d5e43242 Fem::FemMeshShapeNetgenObject::execute() + 850
8   FemGui.so                       0x00000001dd7f84a7 FemGui::TaskDlgMeshShapeNetgen::clicked(int) + 71
9   libQt5Core.5.12.9.dylib         0x000000010f17cd64 QMetaObject::activate(QObject*, int, int, void**) + 1800
10  ???                             0x00007fedd82209a0 ???
11  ???                             0x00007fed8fdc73c0 ???
12  libQt5Widgets.5.12.9.dylib      0x000000010ddc51e4 QDialogButtonBox::metaObject() const + 24
trelau commented 3 years ago

@looooo moving convo to #37