|
@@ -1,65 +0,0 @@
|
|
|
-dumapp: fix for C++14
|
|
|
-
|
|
|
-With C++14, the way exceptions are specified has changed (somehow, don't
|
|
|
-ask me), thus causing build failures:
|
|
|
-
|
|
|
- dumapp.cpp: In function ‘void* operator new(std::size_t)’:
|
|
|
- dumapp.cpp:192:19: error: declaration of ‘void* operator new(std::size_t) throw (std::bad_alloc)’ has a different exception specifier
|
|
|
- void * DUMA_CDECL operator new( DUMA_SIZE_T size )
|
|
|
- ^~~~~~~~
|
|
|
- In file included from dumapp.cpp:39:0:
|
|
|
- dumapp.h:91:23: note: from previous declaration ‘void* operator new(std::size_t)’
|
|
|
- void * DUMA_CDECL operator new(DUMA_SIZE_T) throw(std::bad_alloc);
|
|
|
- ^~~~~~~~
|
|
|
-
|
|
|
-This is most evident with gcc-6.x, since the default C++ standard has
|
|
|
-changed from C++11 to C++14, thus exposing these new failures.
|
|
|
-
|
|
|
-Fix that by guarding the exception handling, a bit like was done
|
|
|
-with GRASS GIS (thanks DuckDuckGo):
|
|
|
-
|
|
|
- https://trac.osgeo.org/grass/changeset?old_path=%2F&old=68817&new_path=%2F&new=68818&sfp_email=&sfph_mail=
|
|
|
-
|
|
|
-Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
|
|
|
-
|
|
|
----
|
|
|
-Note: The last commit in DUMA's CVS repo was more than 7 years ago.
|
|
|
-I doubt it is still active, so the patch was not sent upstream. :-/
|
|
|
-
|
|
|
-diff -durN duma-2.5.15.orig/dumapp.cpp duma-2.5.15/dumapp.cpp
|
|
|
---- duma-2.5.15.orig/dumapp.cpp 2008-08-03 22:46:06.000000000 +0200
|
|
|
-+++ duma-2.5.15/dumapp.cpp 2016-07-10 21:55:22.670386099 +0200
|
|
|
-@@ -190,7 +190,9 @@
|
|
|
- * (11) = (a) ; ASW
|
|
|
- */
|
|
|
- void * DUMA_CDECL operator new( DUMA_SIZE_T size )
|
|
|
-+#ifdef DUMA_EXCEPTION_SPECS
|
|
|
- throw(std::bad_alloc)
|
|
|
-+#endif
|
|
|
- {
|
|
|
- return duma_new_operator(size, EFA_NEW_ELEM, true DUMA_PARAMS_UK);
|
|
|
- }
|
|
|
-@@ -254,7 +256,9 @@
|
|
|
- * (21) = (a) ; AAW
|
|
|
- */
|
|
|
- void * DUMA_CDECL operator new[]( DUMA_SIZE_T size )
|
|
|
-+#ifdef DUMA_EXCEPTION_SPECS
|
|
|
- throw(std::bad_alloc)
|
|
|
-+#endif
|
|
|
- {
|
|
|
- return duma_new_operator(size, EFA_NEW_ARRAY, true DUMA_PARAMS_UK);
|
|
|
- }
|
|
|
-diff -durN duma-2.5.15.orig/dumapp.h duma-2.5.15/dumapp.h
|
|
|
---- duma-2.5.15.orig/dumapp.h 2009-04-11 14:41:44.000000000 +0200
|
|
|
-+++ duma-2.5.15/dumapp.h 2016-07-10 21:55:22.670386099 +0200
|
|
|
-@@ -35,6 +35,10 @@
|
|
|
-
|
|
|
- #include "duma.h"
|
|
|
-
|
|
|
-+#if __cplusplus < 201103L
|
|
|
-+ #define DUMA_EXCEPTION_SPECS 1
|
|
|
-+#endif
|
|
|
-+
|
|
|
- /* remove previous macro definitions */
|
|
|
- #include "noduma.h"
|
|
|
-
|