summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Wette <karl.wette@gmail.com>2015-07-17 09:32:28 +0200
committerKarl Wette <karl.wette@gmail.com>2015-07-17 09:32:28 +0200
commit695b88f1ac30c6a8b329233e0f64c891188f4ef9 (patch)
tree87fb73b03b201d70c9ece76230a92539e7ac113b
parentd49267ca3fc0aeaa1b45f48be8f48453be54a6a9 (diff)
parent68e833a5b97ba02feeb594c736620b832697486a (diff)
downloadswig-695b88f1ac30c6a8b329233e0f64c891188f4ef9.tar.gz
Merge pull request #460 from opoplawski/octave4
Support for octave 4.0.0
-rw-r--r--.travis.yml2
-rw-r--r--Examples/test-suite/octave/default_constructor_runme.m18
-rw-r--r--Lib/octave/octcontainer.swg1
-rw-r--r--Lib/octave/octrun.swg54
4 files changed, 59 insertions, 16 deletions
diff --git a/.travis.yml b/.travis.yml
index 860360266..3ca009b92 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -32,6 +32,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
diff --git a/Examples/test-suite/octave/default_constructor_runme.m b/Examples/test-suite/octave/default_constructor_runme.m
index 2f8bb39ef..ebe553b20 100644
--- a/Examples/test-suite/octave/default_constructor_runme.m
+++ b/Examples/test-suite/octave/default_constructor_runme.m
@@ -14,24 +14,18 @@ try
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 @@ try
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 @@ try
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 @@ dc.F_destroy(f);
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
diff --git a/Lib/octave/octcontainer.swg b/Lib/octave/octcontainer.swg
index 723256ca0..0211b33c6 100644
--- a/Lib/octave/octcontainer.swg
+++ b/Lib/octave/octcontainer.swg
@@ -12,6 +12,7 @@
* ----------------------------------------------------------------------------- */
%{
+#include <climits>
#include <iostream>
%}
diff --git a/Lib/octave/octrun.swg b/Lib/octave/octrun.swg
index b5c3e5d86..ddfd48939 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 {
@@ -969,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;
@@ -1089,6 +1105,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 +1121,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
@@ -1104,14 +1130,22 @@ 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:
+#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 {
@@ -1143,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);
}
@@ -1167,6 +1205,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 +1225,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) {