From 248890aad08a2b1e1182f9b5986806e2b8c92d17 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Wed, 8 Jul 2015 13:26:36 -0600 Subject: [PATCH 1/5] Support for octave 4.0.0 --- Lib/octave/octrun.swg | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/Lib/octave/octrun.swg b/Lib/octave/octrun.swg index b5c3e5d..4003544 100644 --- a/Lib/octave/octrun.swg +++ b/Lib/octave/octrun.swg @@ -868,6 +868,17 @@ SWIGRUNTIME void swig_acquire_ownership_obj(void *vptr, int own); } #if defined (HAVE_HDF5) +# if SWIG_OCTAVE_PREREQ(4,0,0) + virtual bool + save_hdf5 (octave_hdf5_id loc_id, const char *name, bool save_as_floats) { + return true; + } + + virtual bool + load_hdf5 (octave_hdf5_id loc_id, const char *name, bool have_h5giterate_bug) { + return true; + } +# else virtual bool save_hdf5 (hid_t loc_id, const char *name, bool save_as_floats) { return true; @@ -877,6 +888,7 @@ SWIGRUNTIME void swig_acquire_ownership_obj(void *vptr, int own); load_hdf5 (hid_t loc_id, const char *name, bool have_h5giterate_bug) { return true; } +# endif #endif virtual octave_value convert_to_str(bool pad = false, bool force = false, char type = '"') const { @@ -1089,6 +1101,15 @@ SWIGRUNTIME void swig_acquire_ownership_obj(void *vptr, int own); { return ptr->load_binary(is, swap, fmt); } #if defined (HAVE_HDF5) +# if SWIG_OCTAVE_PREREQ(4,0,0) + virtual bool + save_hdf5 (octave_hdf5_id loc_id, const char *name, bool save_as_floats) + { return ptr->save_hdf5(loc_id, name, save_as_floats); } + + virtual bool + load_hdf5 (octave_hdf5_id loc_id, const char *name, bool have_h5giterate_bug) + { return ptr->load_hdf5(loc_id, name, have_h5giterate_bug); } +# else virtual bool save_hdf5 (hid_t loc_id, const char *name, bool save_as_floats) { return ptr->save_hdf5(loc_id, name, save_as_floats); } @@ -1096,6 +1117,7 @@ SWIGRUNTIME void swig_acquire_ownership_obj(void *vptr, int own); virtual bool load_hdf5 (hid_t loc_id, const char *name, bool have_h5giterate_bug) { return ptr->load_hdf5(loc_id, name, have_h5giterate_bug); } +# endif #endif virtual octave_value convert_to_str(bool pad = false, bool force = false, char type = '"') const @@ -1108,10 +1130,14 @@ SWIGRUNTIME void swig_acquire_ownership_obj(void *vptr, int own); { return ptr->print(os, pr_as_read_syntax); } private: +#if !SWIG_OCTAVE_PREREQ(4,0,0) DECLARE_OCTAVE_ALLOCATOR; +#endif DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA; }; +#if !SWIG_OCTAVE_PREREQ(4,0,0) DEFINE_OCTAVE_ALLOCATOR(octave_swig_ref); +#endif DEFINE_OV_TYPEID_FUNCTIONS_AND_DATA(octave_swig_ref, "swig_ref", "swig_ref"); class octave_swig_packed:public octave_base_value { @@ -1167,6 +1193,17 @@ SWIGRUNTIME void swig_acquire_ownership_obj(void *vptr, int own); } #if defined (HAVE_HDF5) +# if SWIG_OCTAVE_PREREQ(4,0,0) + virtual bool + save_hdf5 (octave_hdf5_id loc_id, const char *name, bool save_as_floats) { + return true; + } + + virtual bool + load_hdf5 (octave_hdf5_id loc_id, const char *name, bool have_h5giterate_bug) { + return true; + } +# else virtual bool save_hdf5 (hid_t loc_id, const char *name, bool save_as_floats) { return true; @@ -1176,13 +1213,18 @@ SWIGRUNTIME void swig_acquire_ownership_obj(void *vptr, int own); load_hdf5 (hid_t loc_id, const char *name, bool have_h5giterate_bug) { return true; } +# endif #endif private: +#if !SWIG_OCTAVE_PREREQ(4,0,0) DECLARE_OCTAVE_ALLOCATOR; +#endif DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA; }; +#if !SWIG_OCTAVE_PREREQ(4,0,0) DEFINE_OCTAVE_ALLOCATOR(octave_swig_packed); +#endif DEFINE_OV_TYPEID_FUNCTIONS_AND_DATA(octave_swig_packed, "swig_packed", "swig_packed"); SWIGRUNTIME octave_value_list octave_set_immutable(const octave_value_list &args, int nargout) { From 350c410d4bba978263e592a070e87cdae1663c7f Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Thu, 9 Jul 2015 19:20:46 -0600 Subject: [PATCH 2/5] Update print() signature for octave 4.0 --- Lib/octave/octrun.swg | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Lib/octave/octrun.swg b/Lib/octave/octrun.swg index 4003544..ddfd489 100644 --- a/Lib/octave/octrun.swg +++ b/Lib/octave/octrun.swg @@ -981,7 +981,11 @@ SWIGRUNTIME void swig_acquire_ownership_obj(void *vptr, int own); return octave_value(); } +#if SWIG_OCTAVE_PREREQ(4,0,0) + void print(std::ostream &os, bool pr_as_read_syntax = false) { +#else void print(std::ostream &os, bool pr_as_read_syntax = false) const { +#endif if (is_string()) { os << string_value(); return; @@ -1126,7 +1130,11 @@ SWIGRUNTIME void swig_acquire_ownership_obj(void *vptr, int own); virtual octave_value convert_to_str_internal(bool pad, bool force, char type) const { return ptr->convert_to_str_internal(pad, force, type); } +#if SWIG_OCTAVE_PREREQ(4,0,0) + void print(std::ostream &os, bool pr_as_read_syntax = false) +#else void print(std::ostream &os, bool pr_as_read_syntax = false) const +#endif { return ptr->print(os, pr_as_read_syntax); } private: @@ -1169,7 +1177,11 @@ SWIGRUNTIME void swig_acquire_ownership_obj(void *vptr, int own); return true; } +#if SWIG_OCTAVE_PREREQ(4,0,0) + void print(std::ostream &os, bool pr_as_read_syntax = false) { +#else void print(std::ostream &os, bool pr_as_read_syntax = false) const { +#endif indent(os); os << "swig packed type: name = " << (type ? type->name : std::string()) << ", len = " << buf.size(); newline(os); } From 5a6a39a4eeaaef11cd8100cb2660722a2a3352c7 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Fri, 10 Jul 2015 08:24:09 -0600 Subject: [PATCH 3/5] Add #include for INT_MAX --- Lib/octave/octcontainer.swg | 1 + 1 file changed, 1 insertion(+) diff --git a/Lib/octave/octcontainer.swg b/Lib/octave/octcontainer.swg index 723256c..0211b33 100644 --- a/Lib/octave/octcontainer.swg +++ b/Lib/octave/octcontainer.swg @@ -12,6 +12,7 @@ * ----------------------------------------------------------------------------- */ %{ +#include #include %} From 1d5d2243284534231fbca0842d2da68d5792ed09 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Fri, 10 Jul 2015 11:59:45 -0600 Subject: [PATCH 4/5] Fix default_constructor_runme.m test --- Examples/test-suite/octave/default_constructor_runme.m | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/Examples/test-suite/octave/default_constructor_runme.m b/Examples/test-suite/octave/default_constructor_runme.m index 2f8bb39..ebe553b 100644 --- a/Examples/test-suite/octave/default_constructor_runme.m +++ b/Examples/test-suite/octave/default_constructor_runme.m @@ -14,24 +14,18 @@ catch end_try_catch -del_b = dc.delete_B; - try bb = dc.new_BB(); error("Whoa. new_BB created.") catch end_try_catch -del_bb = dc.delete_BB; - try c = dc.new_C(); error("Whoa. new_C created.") catch end_try_catch -del_c = dc.delete_C; - cc = dc.new_CC(); dc.delete_CC(cc); @@ -41,24 +35,18 @@ catch end_try_catch -del_d = dc.delete_D; - try dd = dc.new_DD(); error("Whoa. new_DD created") catch end_try_catch -dd = dc.delete_DD; - try ad = dc.new_AD(); error("Whoa. new_AD created") catch end_try_catch -del_ad = dc.delete_AD; - e = dc.new_E(); dc.delete_E(e); @@ -71,12 +59,10 @@ catch end_try_catch -del_eb = dc.delete_EB; - f = dc.new_F(); try - del_f = dc.delete_F; + del_f = dc.delete_F(f); error("Whoa. delete_F created") catch end_try_catch @@ -86,7 +72,7 @@ g = dc.new_G(); try - del_g = dc.delete_G; + del_g = dc.delete_G(g); error("Whoa. delete_G created") catch end_try_catch From 68e833a5b97ba02feeb594c736620b832697486a Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Fri, 10 Jul 2015 22:37:43 -0600 Subject: [PATCH 5/5] Add octave 4.0 to travis --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index a51c541..9c738b1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -29,6 +29,8 @@ matrix: - compiler: gcc env: SWIGLANG=octave SWIGJOBS=-j3 VER=3.8 - compiler: gcc + env: SWIGLANG=octave SWIGJOBS=-j3 VER=4.0 + - compiler: gcc env: SWIGLANG=perl5 - compiler: gcc env: SWIGLANG=php