From dfde9f619167ab1ba918b7fa7c8a36024e834d7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= Date: Sat, 14 Jan 2017 22:04:21 +0100 Subject: [PATCH] Add Patch1 from upstream Do not dump Octave core in examples/test suite scripts Add Patch2 for Fedora >= 26, backported from upstream Support for Octave 4.2 --- swig-3.0.11_octave-no-core-dump.patch | 1395 +++++++++++++++++++++++++ swig-3.0.11_octave42.patch | 12 +- swig.spec | 10 +- 3 files changed, 1411 insertions(+), 6 deletions(-) create mode 100644 swig-3.0.11_octave-no-core-dump.patch diff --git a/swig-3.0.11_octave-no-core-dump.patch b/swig-3.0.11_octave-no-core-dump.patch new file mode 100644 index 0000000..108619d --- /dev/null +++ b/swig-3.0.11_octave-no-core-dump.patch @@ -0,0 +1,1395 @@ +From 9e66af3fefa07fad0103f97eef8e1dc86b3498ba Mon Sep 17 00:00:00 2001 +From: Karl Wette +Date: Sun, 1 Jan 2017 19:06:51 +1300 +Subject: [PATCH] Octave: do not dump Octave core in examples/test suite + scripts + +- If Octave segfaults during cleanup, it usually cannot dump its core + and therefore just freezes, which hold up e.g Travis build jobs +--- + Examples/octave/callback/runme.m | 5 ++++- + Examples/octave/class/runme.m | 5 ++++- + Examples/octave/constants/runme.m | 5 ++++- + Examples/octave/contract/runme.m | 5 ++++- + Examples/octave/enum/runme.m | 5 ++++- + Examples/octave/extend/runme.m | 5 ++++- + Examples/octave/funcptr/runme.m | 5 ++++- + Examples/octave/funcptr2/runme.m | 5 ++++- + Examples/octave/functor/runme.m | 5 +++++ + Examples/octave/module_load/runme.m | 5 ++++- + Examples/octave/operator/runme.m | 5 +++++ + Examples/octave/pointer/runme.m | 5 ++++- + Examples/octave/reference/runme.m | 5 ++++- + Examples/octave/simple/runme.m | 5 ++++- + Examples/octave/template/runme.m | 5 ++++- + Examples/octave/variables/runme.m | 5 ++++- + Examples/test-suite/octave/abstract_typedef2_runme.m | 5 +++++ + Examples/test-suite/octave/abstract_typedef_runme.m | 5 +++++ + Examples/test-suite/octave/abstract_virtual_runme.m | 5 +++++ + Examples/test-suite/octave/arrays_global_runme.m | 5 +++++ + Examples/test-suite/octave/class_ignore_runme.m | 5 +++++ + Examples/test-suite/octave/complextest_runme.m | 5 +++++ + Examples/test-suite/octave/constover_runme.m | 5 +++++ + Examples/test-suite/octave/constructor_copy_runme.m | 5 +++++ + Examples/test-suite/octave/default_args_runme.m | 5 +++++ + Examples/test-suite/octave/default_constructor_runme.m | 5 +++++ + Examples/test-suite/octave/director_abstract_runme.m | 5 +++++ + Examples/test-suite/octave/director_classic_runme.m | 5 +++++ + Examples/test-suite/octave/director_extend_runme.m | 5 +++++ + Examples/test-suite/octave/director_stl_runme.m | 5 +++++ + Examples/test-suite/octave/director_string_runme.m | 5 +++++ + Examples/test-suite/octave/director_wstring_runme.m | 5 +++++ + Examples/test-suite/octave/dynamic_cast_runme.m | 5 +++++ + Examples/test-suite/octave/empty_c_runme.m | 5 +++++ + Examples/test-suite/octave/empty_runme.m | 5 +++++ + Examples/test-suite/octave/enum_template_runme.m | 5 +++++ + Examples/test-suite/octave/exception_order_runme.m | 5 +++++ + Examples/test-suite/octave/extend_template_ns_runme.m | 5 +++++ + Examples/test-suite/octave/friends_runme.m | 5 +++++ + Examples/test-suite/octave/global_ns_arg_runme.m | 5 +++++ + Examples/test-suite/octave/grouping_runme.m | 5 +++++ + Examples/test-suite/octave/input_runme.m | 5 +++++ + Examples/test-suite/octave/li_attribute_runme.m | 5 +++++ + Examples/test-suite/octave/li_boost_shared_ptr_runme.m | 5 +++++ + Examples/test-suite/octave/li_carrays_cpp_runme.m | 5 +++++ + Examples/test-suite/octave/li_carrays_runme.m | 5 +++++ + Examples/test-suite/octave/li_cmalloc_runme.m | 5 +++++ + Examples/test-suite/octave/li_cpointer_runme.m | 5 +++++ + Examples/test-suite/octave/li_cstring_runme.m | 5 +++++ + Examples/test-suite/octave/li_cwstring_runme.m | 5 +++++ + Examples/test-suite/octave/li_factory_runme.m | 5 +++++ + Examples/test-suite/octave/li_implicit_runme.m | 5 +++++ + Examples/test-suite/octave/li_std_pair_extra_runme.m | 5 +++++ + Examples/test-suite/octave/li_std_vector_enum_runme.m | 5 +++++ + Examples/test-suite/octave/li_std_wstring_runme.m | 5 +++++ + Examples/test-suite/octave/minherit_runme.m | 5 +++++ + Examples/test-suite/octave/mod_runme.m | 5 +++++ + Examples/test-suite/octave/multi_import_runme.m | 5 +++++ + Examples/test-suite/octave/naturalvar_runme.m | 5 +++++ + Examples/test-suite/octave/null_pointer_runme.m | 5 +++++ + Examples/test-suite/octave/octave_cell_deref_runme.m | 5 +++++ + Examples/test-suite/octave/overload_complicated_runme.m | 5 +++++ + Examples/test-suite/octave/overload_extend_c_runme.m | 5 +++++ + Examples/test-suite/octave/overload_extend_runme.m | 5 +++++ + Examples/test-suite/octave/overload_simple_cast_runme.m | 5 +++++ + Examples/test-suite/octave/overload_subtype_runme.m | 5 +++++ + Examples/test-suite/octave/preproc_runme.m | 5 +++++ + Examples/test-suite/octave/refcount_runme.m | 5 +++++ + Examples/test-suite/octave/ret_by_value_runme.m | 5 +++++ + Examples/test-suite/octave/smart_pointer_extend_runme.m | 5 +++++ + Examples/test-suite/octave/smart_pointer_overload_runme.m | 5 +++++ + Examples/test-suite/octave/smart_pointer_rename_runme.m | 5 +++++ + Examples/test-suite/octave/smart_pointer_simple_runme.m | 5 +++++ + Examples/test-suite/octave/smart_pointer_typedef_runme.m | 5 +++++ + Examples/test-suite/octave/sneaky1_runme.m | 5 +++++ + Examples/test-suite/octave/static_const_member_2_runme.m | 5 +++++ + Examples/test-suite/octave/std_containers_runme.m | 5 +++++ + Examples/test-suite/octave/struct_value_runme.m | 5 +++++ + Examples/test-suite/octave/swigobject_runme.m | 5 +++++ + Examples/test-suite/octave/template_default_arg_runme.m | 5 +++++ + Examples/test-suite/octave/template_extend1_runme.m | 5 +++++ + Examples/test-suite/octave/template_extend2_runme.m | 5 +++++ + Examples/test-suite/octave/template_inherit_runme.m | 5 +++++ + Examples/test-suite/octave/template_matrix_runme.m | 5 +++++ + Examples/test-suite/octave/template_ns4_runme.m | 5 +++++ + Examples/test-suite/octave/template_opaque_runme.m | 5 +++++ + Examples/test-suite/octave/template_ref_type_runme.m | 5 +++++ + Examples/test-suite/octave/template_static_runme.m | 5 +++++ + Examples/test-suite/octave/template_typedef_cplx4_runme.m | 5 +++++ + Examples/test-suite/octave/template_typedef_import_runme.m | 5 +++++ + Examples/test-suite/octave/typedef_class_runme.m | 5 +++++ + Examples/test-suite/octave/typedef_inherit_runme.m | 5 +++++ + Examples/test-suite/octave/typename_runme.m | 5 +++++ + Examples/test-suite/octave/using1_runme.m | 5 +++++ + Examples/test-suite/octave/using2_runme.m | 5 +++++ + Examples/test-suite/octave/using_composition_runme.m | 5 +++++ + Examples/test-suite/octave/using_extend_runme.m | 5 +++++ + Examples/test-suite/octave/using_protected_runme.m | 5 +++++ + Examples/test-suite/octave/voidtest_runme.m | 5 +++++ + 99 files changed, 481 insertions(+), 14 deletions(-) + +diff --git a/Examples/octave/callback/runme.m b/Examples/octave/callback/runme.m +index 1039853..a9f2d98 100644 +--- a/Examples/octave/callback/runme.m ++++ b/Examples/octave/callback/runme.m +@@ -1,4 +1,7 @@ +-# file: runme.m ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif + + # This file illustrates the cross language polymorphism using directors. + +diff --git a/Examples/octave/class/runme.m b/Examples/octave/class/runme.m +index 04221b4..62b2db0 100644 +--- a/Examples/octave/class/runme.m ++++ b/Examples/octave/class/runme.m +@@ -1,4 +1,7 @@ +-# file: runme.m ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif + + # This file illustrates the proxy class C++ interface generated + # by SWIG. +diff --git a/Examples/octave/constants/runme.m b/Examples/octave/constants/runme.m +index c6ed245..535280b 100644 +--- a/Examples/octave/constants/runme.m ++++ b/Examples/octave/constants/runme.m +@@ -1,4 +1,7 @@ +-# file: runme.m ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif + + swigexample + +diff --git a/Examples/octave/contract/runme.m b/Examples/octave/contract/runme.m +index fa36bbe..f388e61 100644 +--- a/Examples/octave/contract/runme.m ++++ b/Examples/octave/contract/runme.m +@@ -1,4 +1,7 @@ +-# file: runme.m ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif + + swigexample + +diff --git a/Examples/octave/enum/runme.m b/Examples/octave/enum/runme.m +index 0108135..f0c4101 100644 +--- a/Examples/octave/enum/runme.m ++++ b/Examples/octave/enum/runme.m +@@ -1,4 +1,7 @@ +-# file: runme.m ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif + + swigexample + +diff --git a/Examples/octave/extend/runme.m b/Examples/octave/extend/runme.m +index 4536f27..bc73184 100644 +--- a/Examples/octave/extend/runme.m ++++ b/Examples/octave/extend/runme.m +@@ -1,4 +1,7 @@ +-# file: runme.m ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif + + # This file illustrates the cross language polymorphism using directors. + +diff --git a/Examples/octave/funcptr/runme.m b/Examples/octave/funcptr/runme.m +index 4e2e28f..670a099 100644 +--- a/Examples/octave/funcptr/runme.m ++++ b/Examples/octave/funcptr/runme.m +@@ -1,4 +1,7 @@ +-# file: runme.m ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif + + swigexample + +diff --git a/Examples/octave/funcptr2/runme.m b/Examples/octave/funcptr2/runme.m +index 574635e..3977b5b 100644 +--- a/Examples/octave/funcptr2/runme.m ++++ b/Examples/octave/funcptr2/runme.m +@@ -1,4 +1,7 @@ +-# file: runme.m ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif + + swigexample + +diff --git a/Examples/octave/functor/runme.m b/Examples/octave/functor/runme.m +index 8b41691..f5ab56d 100644 +--- a/Examples/octave/functor/runme.m ++++ b/Examples/octave/functor/runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + # Operator overloading example + swigexample + +diff --git a/Examples/octave/module_load/runme.m b/Examples/octave/module_load/runme.m +index 30b7bad..0e327ef 100644 +--- a/Examples/octave/module_load/runme.m ++++ b/Examples/octave/module_load/runme.m +@@ -1,4 +1,7 @@ +-# file: runme_args.m ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif + + # load module + clear all; +diff --git a/Examples/octave/operator/runme.m b/Examples/octave/operator/runme.m +index 83197b4..e17494a 100644 +--- a/Examples/octave/operator/runme.m ++++ b/Examples/octave/operator/runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + # Operator overloading example + swigexample + +diff --git a/Examples/octave/pointer/runme.m b/Examples/octave/pointer/runme.m +index a76de67..1673915 100644 +--- a/Examples/octave/pointer/runme.m ++++ b/Examples/octave/pointer/runme.m +@@ -1,4 +1,7 @@ +-# file: runme.m ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif + + swigexample; + +diff --git a/Examples/octave/reference/runme.m b/Examples/octave/reference/runme.m +index 630ee0c..3f66d83 100644 +--- a/Examples/octave/reference/runme.m ++++ b/Examples/octave/reference/runme.m +@@ -1,4 +1,7 @@ +-# file: runme.m ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif + + # This file illustrates the manipulation of C++ references in Octave + +diff --git a/Examples/octave/simple/runme.m b/Examples/octave/simple/runme.m +index 6345df0..3536519 100644 +--- a/Examples/octave/simple/runme.m ++++ b/Examples/octave/simple/runme.m +@@ -1,4 +1,7 @@ +-# file: runme.m ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif + + swigexample + +diff --git a/Examples/octave/template/runme.m b/Examples/octave/template/runme.m +index b0abbf2..b7261b7 100644 +--- a/Examples/octave/template/runme.m ++++ b/Examples/octave/template/runme.m +@@ -1,4 +1,7 @@ +-# file: runme.m ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif + + swigexample + +diff --git a/Examples/octave/variables/runme.m b/Examples/octave/variables/runme.m +index c678839..71ac72f 100644 +--- a/Examples/octave/variables/runme.m ++++ b/Examples/octave/variables/runme.m +@@ -1,4 +1,7 @@ +-# file: runme.m ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif + + swigexample + +diff --git a/Examples/test-suite/octave/abstract_typedef2_runme.m b/Examples/test-suite/octave/abstract_typedef2_runme.m +index 7f364db..e2b41fe 100644 +--- a/Examples/test-suite/octave/abstract_typedef2_runme.m ++++ b/Examples/test-suite/octave/abstract_typedef2_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + abstract_typedef2 + + a = A_UF(); +diff --git a/Examples/test-suite/octave/abstract_typedef_runme.m b/Examples/test-suite/octave/abstract_typedef_runme.m +index f28cf3c..e57f715 100644 +--- a/Examples/test-suite/octave/abstract_typedef_runme.m ++++ b/Examples/test-suite/octave/abstract_typedef_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + abstract_typedef + e = Engine(); + +diff --git a/Examples/test-suite/octave/abstract_virtual_runme.m b/Examples/test-suite/octave/abstract_virtual_runme.m +index 9845a58..d99ca1c 100644 +--- a/Examples/test-suite/octave/abstract_virtual_runme.m ++++ b/Examples/test-suite/octave/abstract_virtual_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + abstract_virtual + + +diff --git a/Examples/test-suite/octave/arrays_global_runme.m b/Examples/test-suite/octave/arrays_global_runme.m +index 619d381..b4f2346 100644 +--- a/Examples/test-suite/octave/arrays_global_runme.m ++++ b/Examples/test-suite/octave/arrays_global_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + arrays_global + + arrays_global.cvar.array_i = arrays_global.cvar.array_const_i; +diff --git a/Examples/test-suite/octave/class_ignore_runme.m b/Examples/test-suite/octave/class_ignore_runme.m +index 76bbcd3..3e52047 100644 +--- a/Examples/test-suite/octave/class_ignore_runme.m ++++ b/Examples/test-suite/octave/class_ignore_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + class_ignore + + a = class_ignore.Bar(); +diff --git a/Examples/test-suite/octave/complextest_runme.m b/Examples/test-suite/octave/complextest_runme.m +index cd0f9f4..6a5433f 100644 +--- a/Examples/test-suite/octave/complextest_runme.m ++++ b/Examples/test-suite/octave/complextest_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + complextest + + a = complex(-1,2); +diff --git a/Examples/test-suite/octave/constover_runme.m b/Examples/test-suite/octave/constover_runme.m +index febcdae..47fdb6f 100644 +--- a/Examples/test-suite/octave/constover_runme.m ++++ b/Examples/test-suite/octave/constover_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + constover + + p = constover.test("test"); +diff --git a/Examples/test-suite/octave/constructor_copy_runme.m b/Examples/test-suite/octave/constructor_copy_runme.m +index 5d52ab5..e450214 100644 +--- a/Examples/test-suite/octave/constructor_copy_runme.m ++++ b/Examples/test-suite/octave/constructor_copy_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + constructor_copy + + f1 = Foo1(3); +diff --git a/Examples/test-suite/octave/default_args_runme.m b/Examples/test-suite/octave/default_args_runme.m +index f8a6560..3d00f63 100644 +--- a/Examples/test-suite/octave/default_args_runme.m ++++ b/Examples/test-suite/octave/default_args_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + default_args + + +diff --git a/Examples/test-suite/octave/default_constructor_runme.m b/Examples/test-suite/octave/default_constructor_runme.m +index ebe553b..b0feaf5 100644 +--- a/Examples/test-suite/octave/default_constructor_runme.m ++++ b/Examples/test-suite/octave/default_constructor_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + default_constructor + + dc = default_constructor; +diff --git a/Examples/test-suite/octave/director_abstract_runme.m b/Examples/test-suite/octave/director_abstract_runme.m +index 00fb676..657e2e1 100644 +--- a/Examples/test-suite/octave/director_abstract_runme.m ++++ b/Examples/test-suite/octave/director_abstract_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + director_abstract + + MyFoo=@() subclass(director_abstract.Foo(),@ping); +diff --git a/Examples/test-suite/octave/director_classic_runme.m b/Examples/test-suite/octave/director_classic_runme.m +index c1f8e95..167c8ea 100644 +--- a/Examples/test-suite/octave/director_classic_runme.m ++++ b/Examples/test-suite/octave/director_classic_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + director_classic + + TargetLangPerson=@() subclass(Person(),'id',@(self) "TargetLangPerson"); +diff --git a/Examples/test-suite/octave/director_extend_runme.m b/Examples/test-suite/octave/director_extend_runme.m +index 1cbeac8..3b23e56 100644 +--- a/Examples/test-suite/octave/director_extend_runme.m ++++ b/Examples/test-suite/octave/director_extend_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + director_extend + + MyObject=@() subclass(SpObject(),'getFoo',@(self) 123); +diff --git a/Examples/test-suite/octave/director_stl_runme.m b/Examples/test-suite/octave/director_stl_runme.m +index e8f4c5e..23990c2 100644 +--- a/Examples/test-suite/octave/director_stl_runme.m ++++ b/Examples/test-suite/octave/director_stl_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + director_stl + + MyFoo=@() subclass(director_stl.Foo(),\ +diff --git a/Examples/test-suite/octave/director_string_runme.m b/Examples/test-suite/octave/director_string_runme.m +index c2d4e9c..a078c26 100644 +--- a/Examples/test-suite/octave/director_string_runme.m ++++ b/Examples/test-suite/octave/director_string_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + director_string + + +diff --git a/Examples/test-suite/octave/director_wstring_runme.m b/Examples/test-suite/octave/director_wstring_runme.m +index b59ff6e..99b8e99 100644 +--- a/Examples/test-suite/octave/director_wstring_runme.m ++++ b/Examples/test-suite/octave/director_wstring_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + director_wstring + + +diff --git a/Examples/test-suite/octave/dynamic_cast_runme.m b/Examples/test-suite/octave/dynamic_cast_runme.m +index dad0ba2..b53120b 100644 +--- a/Examples/test-suite/octave/dynamic_cast_runme.m ++++ b/Examples/test-suite/octave/dynamic_cast_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + dynamic_cast + + f = dynamic_cast.Foo(); +diff --git a/Examples/test-suite/octave/empty_c_runme.m b/Examples/test-suite/octave/empty_c_runme.m +index 81264de..9ff6572 100644 +--- a/Examples/test-suite/octave/empty_c_runme.m ++++ b/Examples/test-suite/octave/empty_c_runme.m +@@ -1,2 +1,7 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + empty_c + +diff --git a/Examples/test-suite/octave/empty_runme.m b/Examples/test-suite/octave/empty_runme.m +index e7b64f1..10f72a2 100644 +--- a/Examples/test-suite/octave/empty_runme.m ++++ b/Examples/test-suite/octave/empty_runme.m +@@ -1,2 +1,7 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + empty + +diff --git a/Examples/test-suite/octave/enum_template_runme.m b/Examples/test-suite/octave/enum_template_runme.m +index ca10f1f..a9f940a 100644 +--- a/Examples/test-suite/octave/enum_template_runme.m ++++ b/Examples/test-suite/octave/enum_template_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + enum_template + + if (enum_template.MakeETest() != 1) +diff --git a/Examples/test-suite/octave/exception_order_runme.m b/Examples/test-suite/octave/exception_order_runme.m +index 5ef85f4..b352d52 100644 +--- a/Examples/test-suite/octave/exception_order_runme.m ++++ b/Examples/test-suite/octave/exception_order_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + exception_order + + function check_lasterror(expected) +diff --git a/Examples/test-suite/octave/extend_template_ns_runme.m b/Examples/test-suite/octave/extend_template_ns_runme.m +index 401ea63..e79a00d 100644 +--- a/Examples/test-suite/octave/extend_template_ns_runme.m ++++ b/Examples/test-suite/octave/extend_template_ns_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + extend_template_ns + + f = Foo_One(); +diff --git a/Examples/test-suite/octave/friends_runme.m b/Examples/test-suite/octave/friends_runme.m +index e18f47a..3121156 100644 +--- a/Examples/test-suite/octave/friends_runme.m ++++ b/Examples/test-suite/octave/friends_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + friends + + a = friends.A(2); +diff --git a/Examples/test-suite/octave/global_ns_arg_runme.m b/Examples/test-suite/octave/global_ns_arg_runme.m +index b8f7cfa..bd90b64 100644 +--- a/Examples/test-suite/octave/global_ns_arg_runme.m ++++ b/Examples/test-suite/octave/global_ns_arg_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + global_ns_arg + + a = foo(1); +diff --git a/Examples/test-suite/octave/grouping_runme.m b/Examples/test-suite/octave/grouping_runme.m +index 26b896c..6d1a2d6 100644 +--- a/Examples/test-suite/octave/grouping_runme.m ++++ b/Examples/test-suite/octave/grouping_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + grouping + + x = grouping.test1(42); +diff --git a/Examples/test-suite/octave/input_runme.m b/Examples/test-suite/octave/input_runme.m +index 7578621..1a92d03 100644 +--- a/Examples/test-suite/octave/input_runme.m ++++ b/Examples/test-suite/octave/input_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + input + + f = Foo(); +diff --git a/Examples/test-suite/octave/li_attribute_runme.m b/Examples/test-suite/octave/li_attribute_runme.m +index 548e733..ed051d9 100644 +--- a/Examples/test-suite/octave/li_attribute_runme.m ++++ b/Examples/test-suite/octave/li_attribute_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + li_attribute + + aa = li_attribute.A(1,2,3); +diff --git a/Examples/test-suite/octave/li_boost_shared_ptr_runme.m b/Examples/test-suite/octave/li_boost_shared_ptr_runme.m +index 1da0a57..b6d5455 100644 +--- a/Examples/test-suite/octave/li_boost_shared_ptr_runme.m ++++ b/Examples/test-suite/octave/li_boost_shared_ptr_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + 1; + li_boost_shared_ptr; + +diff --git a/Examples/test-suite/octave/li_carrays_cpp_runme.m b/Examples/test-suite/octave/li_carrays_cpp_runme.m +index d5b9213..b3b5209 100644 +--- a/Examples/test-suite/octave/li_carrays_cpp_runme.m ++++ b/Examples/test-suite/octave/li_carrays_cpp_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + li_carrays_cpp + + d = doubleArray(10); +diff --git a/Examples/test-suite/octave/li_carrays_runme.m b/Examples/test-suite/octave/li_carrays_runme.m +index 8ec7e59..c6b5f16 100644 +--- a/Examples/test-suite/octave/li_carrays_runme.m ++++ b/Examples/test-suite/octave/li_carrays_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + li_carrays + + d = doubleArray(10); +diff --git a/Examples/test-suite/octave/li_cmalloc_runme.m b/Examples/test-suite/octave/li_cmalloc_runme.m +index 45faf73..92bcd95 100644 +--- a/Examples/test-suite/octave/li_cmalloc_runme.m ++++ b/Examples/test-suite/octave/li_cmalloc_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + li_cmalloc + + p = malloc_int(); +diff --git a/Examples/test-suite/octave/li_cpointer_runme.m b/Examples/test-suite/octave/li_cpointer_runme.m +index bf660a6..ce055cd 100644 +--- a/Examples/test-suite/octave/li_cpointer_runme.m ++++ b/Examples/test-suite/octave/li_cpointer_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + li_cpointer + + +diff --git a/Examples/test-suite/octave/li_cstring_runme.m b/Examples/test-suite/octave/li_cstring_runme.m +index 0d2bdb7..8aea6b7 100644 +--- a/Examples/test-suite/octave/li_cstring_runme.m ++++ b/Examples/test-suite/octave/li_cstring_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + li_cstring + + +diff --git a/Examples/test-suite/octave/li_cwstring_runme.m b/Examples/test-suite/octave/li_cwstring_runme.m +index 4cfef7f..1fb0962 100644 +--- a/Examples/test-suite/octave/li_cwstring_runme.m ++++ b/Examples/test-suite/octave/li_cwstring_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + li_cwstring + + if (count("ab\0ab\0ab\0", 0) != 3) +diff --git a/Examples/test-suite/octave/li_factory_runme.m b/Examples/test-suite/octave/li_factory_runme.m +index d87920d..5ea9b77 100644 +--- a/Examples/test-suite/octave/li_factory_runme.m ++++ b/Examples/test-suite/octave/li_factory_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + li_factory + + circle = Geometry_create(Geometry.CIRCLE); +diff --git a/Examples/test-suite/octave/li_implicit_runme.m b/Examples/test-suite/octave/li_implicit_runme.m +index 2ca8b59..dd4393a 100644 +--- a/Examples/test-suite/octave/li_implicit_runme.m ++++ b/Examples/test-suite/octave/li_implicit_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + li_implicit + b = B(); + ai = A(1); +diff --git a/Examples/test-suite/octave/li_std_pair_extra_runme.m b/Examples/test-suite/octave/li_std_pair_extra_runme.m +index 0f9e9a2..473b5e4 100644 +--- a/Examples/test-suite/octave/li_std_pair_extra_runme.m ++++ b/Examples/test-suite/octave/li_std_pair_extra_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + li_std_pair_extra + + p = {1,2}; +diff --git a/Examples/test-suite/octave/li_std_vector_enum_runme.m b/Examples/test-suite/octave/li_std_vector_enum_runme.m +index 471e7bf..0de7704 100644 +--- a/Examples/test-suite/octave/li_std_vector_enum_runme.m ++++ b/Examples/test-suite/octave/li_std_vector_enum_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + li_std_vector_enum + + function check(a, b) +diff --git a/Examples/test-suite/octave/li_std_wstring_runme.m b/Examples/test-suite/octave/li_std_wstring_runme.m +index e46c1f2..cbccc0c 100644 +--- a/Examples/test-suite/octave/li_std_wstring_runme.m ++++ b/Examples/test-suite/octave/li_std_wstring_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + li_std_wstring + + x="h"; +diff --git a/Examples/test-suite/octave/minherit_runme.m b/Examples/test-suite/octave/minherit_runme.m +index 24d2091..025db8a 100644 +--- a/Examples/test-suite/octave/minherit_runme.m ++++ b/Examples/test-suite/octave/minherit_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + minherit + + a = minherit.Foo(); +diff --git a/Examples/test-suite/octave/mod_runme.m b/Examples/test-suite/octave/mod_runme.m +index faebf70..6120eee 100644 +--- a/Examples/test-suite/octave/mod_runme.m ++++ b/Examples/test-suite/octave/mod_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + mod_a + mod_b + +diff --git a/Examples/test-suite/octave/multi_import_runme.m b/Examples/test-suite/octave/multi_import_runme.m +index 08149aa..2b7a610 100644 +--- a/Examples/test-suite/octave/multi_import_runme.m ++++ b/Examples/test-suite/octave/multi_import_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + multi_import_a; + multi_import_b; + +diff --git a/Examples/test-suite/octave/naturalvar_runme.m b/Examples/test-suite/octave/naturalvar_runme.m +index 889563f..6059b02 100644 +--- a/Examples/test-suite/octave/naturalvar_runme.m ++++ b/Examples/test-suite/octave/naturalvar_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + naturalvar + + f = Foo(); +diff --git a/Examples/test-suite/octave/null_pointer_runme.m b/Examples/test-suite/octave/null_pointer_runme.m +index 51b6eaf..9d55d8b 100644 +--- a/Examples/test-suite/octave/null_pointer_runme.m ++++ b/Examples/test-suite/octave/null_pointer_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + null_pointer; + + assert(func([])); +diff --git a/Examples/test-suite/octave/octave_cell_deref_runme.m b/Examples/test-suite/octave/octave_cell_deref_runme.m +index 5a98c0a..d00d172 100644 +--- a/Examples/test-suite/octave/octave_cell_deref_runme.m ++++ b/Examples/test-suite/octave/octave_cell_deref_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + octave_cell_deref; + + assert(func("hello")); +diff --git a/Examples/test-suite/octave/overload_complicated_runme.m b/Examples/test-suite/octave/overload_complicated_runme.m +index 0313be9..879bdc8 100644 +--- a/Examples/test-suite/octave/overload_complicated_runme.m ++++ b/Examples/test-suite/octave/overload_complicated_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + overload_complicated + + pInt = None; +diff --git a/Examples/test-suite/octave/overload_extend_c_runme.m b/Examples/test-suite/octave/overload_extend_c_runme.m +index aa6bb5b..79b92ca 100644 +--- a/Examples/test-suite/octave/overload_extend_c_runme.m ++++ b/Examples/test-suite/octave/overload_extend_c_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + overload_extend_c + + f = overload_extend_c.Foo(); +diff --git a/Examples/test-suite/octave/overload_extend_runme.m b/Examples/test-suite/octave/overload_extend_runme.m +index 42c7938..d995980 100644 +--- a/Examples/test-suite/octave/overload_extend_runme.m ++++ b/Examples/test-suite/octave/overload_extend_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + overload_extend + + f = overload_extend.Foo(); +diff --git a/Examples/test-suite/octave/overload_simple_cast_runme.m b/Examples/test-suite/octave/overload_simple_cast_runme.m +index 65bc422..2183510 100644 +--- a/Examples/test-suite/octave/overload_simple_cast_runme.m ++++ b/Examples/test-suite/octave/overload_simple_cast_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + overload_simple_cast + + Ai=@(x) subclass('x',x,'__int',@(self) self.x); +diff --git a/Examples/test-suite/octave/overload_subtype_runme.m b/Examples/test-suite/octave/overload_subtype_runme.m +index b34be97..d1b2091 100644 +--- a/Examples/test-suite/octave/overload_subtype_runme.m ++++ b/Examples/test-suite/octave/overload_subtype_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + overload_subtype + + f = Foo(); +diff --git a/Examples/test-suite/octave/preproc_runme.m b/Examples/test-suite/octave/preproc_runme.m +index 791b38b..e9af66e 100644 +--- a/Examples/test-suite/octave/preproc_runme.m ++++ b/Examples/test-suite/octave/preproc_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + preproc + + if (preproc.cvar.endif != 1) +diff --git a/Examples/test-suite/octave/refcount_runme.m b/Examples/test-suite/octave/refcount_runme.m +index 3ce5bcd..9fc01e2 100644 +--- a/Examples/test-suite/octave/refcount_runme.m ++++ b/Examples/test-suite/octave/refcount_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + refcount + # + # very innocent example +diff --git a/Examples/test-suite/octave/ret_by_value_runme.m b/Examples/test-suite/octave/ret_by_value_runme.m +index d17c9f2..67f80aa 100644 +--- a/Examples/test-suite/octave/ret_by_value_runme.m ++++ b/Examples/test-suite/octave/ret_by_value_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + ret_by_value + + a = ret_by_value.get_test(); +diff --git a/Examples/test-suite/octave/smart_pointer_extend_runme.m b/Examples/test-suite/octave/smart_pointer_extend_runme.m +index c30cd9f..6c9258e 100644 +--- a/Examples/test-suite/octave/smart_pointer_extend_runme.m ++++ b/Examples/test-suite/octave/smart_pointer_extend_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + smart_pointer_extend + + f = Foo(); +diff --git a/Examples/test-suite/octave/smart_pointer_overload_runme.m b/Examples/test-suite/octave/smart_pointer_overload_runme.m +index 214437d..a5df0de 100644 +--- a/Examples/test-suite/octave/smart_pointer_overload_runme.m ++++ b/Examples/test-suite/octave/smart_pointer_overload_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + smart_pointer_overload + + f = Foo(); +diff --git a/Examples/test-suite/octave/smart_pointer_rename_runme.m b/Examples/test-suite/octave/smart_pointer_rename_runme.m +index 260ee3e..5eb6d4c 100644 +--- a/Examples/test-suite/octave/smart_pointer_rename_runme.m ++++ b/Examples/test-suite/octave/smart_pointer_rename_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + smart_pointer_rename + + f = Foo(); +diff --git a/Examples/test-suite/octave/smart_pointer_simple_runme.m b/Examples/test-suite/octave/smart_pointer_simple_runme.m +index 26f32e0..30b1387 100644 +--- a/Examples/test-suite/octave/smart_pointer_simple_runme.m ++++ b/Examples/test-suite/octave/smart_pointer_simple_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + smart_pointer_simple + + f = Foo(); +diff --git a/Examples/test-suite/octave/smart_pointer_typedef_runme.m b/Examples/test-suite/octave/smart_pointer_typedef_runme.m +index 8fa6ca2..0e1c8a6 100644 +--- a/Examples/test-suite/octave/smart_pointer_typedef_runme.m ++++ b/Examples/test-suite/octave/smart_pointer_typedef_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + smart_pointer_typedef + + f = Foo(); +diff --git a/Examples/test-suite/octave/sneaky1_runme.m b/Examples/test-suite/octave/sneaky1_runme.m +index e044370..dfbbf82 100644 +--- a/Examples/test-suite/octave/sneaky1_runme.m ++++ b/Examples/test-suite/octave/sneaky1_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + sneaky1 + x = sneaky1.add(3,4); + y = sneaky1.subtract(3,4); +diff --git a/Examples/test-suite/octave/static_const_member_2_runme.m b/Examples/test-suite/octave/static_const_member_2_runme.m +index b242bfc..73260ba 100644 +--- a/Examples/test-suite/octave/static_const_member_2_runme.m ++++ b/Examples/test-suite/octave/static_const_member_2_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + static_const_member_2 + + c = Test_int(); +diff --git a/Examples/test-suite/octave/std_containers_runme.m b/Examples/test-suite/octave/std_containers_runme.m +index 074f0fd..eae3d5d 100644 +--- a/Examples/test-suite/octave/std_containers_runme.m ++++ b/Examples/test-suite/octave/std_containers_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + std_containers + + +diff --git a/Examples/test-suite/octave/struct_value_runme.m b/Examples/test-suite/octave/struct_value_runme.m +index 7340a36..ff34404 100644 +--- a/Examples/test-suite/octave/struct_value_runme.m ++++ b/Examples/test-suite/octave/struct_value_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + struct_value + + b = struct_value.Bar(); +diff --git a/Examples/test-suite/octave/swigobject_runme.m b/Examples/test-suite/octave/swigobject_runme.m +index 614e2a4..73167e4 100644 +--- a/Examples/test-suite/octave/swigobject_runme.m ++++ b/Examples/test-suite/octave/swigobject_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + swigobject + + a = A(); +diff --git a/Examples/test-suite/octave/template_default_arg_runme.m b/Examples/test-suite/octave/template_default_arg_runme.m +index e500662..b202216 100644 +--- a/Examples/test-suite/octave/template_default_arg_runme.m ++++ b/Examples/test-suite/octave/template_default_arg_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + template_default_arg + + +diff --git a/Examples/test-suite/octave/template_extend1_runme.m b/Examples/test-suite/octave/template_extend1_runme.m +index e672da7..5035deb 100644 +--- a/Examples/test-suite/octave/template_extend1_runme.m ++++ b/Examples/test-suite/octave/template_extend1_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + template_extend1 + + a = template_extend1.lBaz(); +diff --git a/Examples/test-suite/octave/template_extend2_runme.m b/Examples/test-suite/octave/template_extend2_runme.m +index 93c44d7..24472a9 100644 +--- a/Examples/test-suite/octave/template_extend2_runme.m ++++ b/Examples/test-suite/octave/template_extend2_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + template_extend2 + + a = template_extend2.lBaz(); +diff --git a/Examples/test-suite/octave/template_inherit_runme.m b/Examples/test-suite/octave/template_inherit_runme.m +index ce7931e..368cce2 100644 +--- a/Examples/test-suite/octave/template_inherit_runme.m ++++ b/Examples/test-suite/octave/template_inherit_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + template_inherit + a = FooInt(); + b = FooDouble(); +diff --git a/Examples/test-suite/octave/template_matrix_runme.m b/Examples/test-suite/octave/template_matrix_runme.m +index b8fb3d3..96e7bd9 100644 +--- a/Examples/test-suite/octave/template_matrix_runme.m ++++ b/Examples/test-suite/octave/template_matrix_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + template_matrix + passVector([1,2,3]); + passMatrix({[1,2],[1,2,3]}); +diff --git a/Examples/test-suite/octave/template_ns4_runme.m b/Examples/test-suite/octave/template_ns4_runme.m +index 58ced7c..b574642 100644 +--- a/Examples/test-suite/octave/template_ns4_runme.m ++++ b/Examples/test-suite/octave/template_ns4_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + template_ns4 + + d = make_Class_DD(); +diff --git a/Examples/test-suite/octave/template_opaque_runme.m b/Examples/test-suite/octave/template_opaque_runme.m +index 1c123b3..4e8511e 100644 +--- a/Examples/test-suite/octave/template_opaque_runme.m ++++ b/Examples/test-suite/octave/template_opaque_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + template_opaque + + v = template_opaque.OpaqueVectorType(10); +diff --git a/Examples/test-suite/octave/template_ref_type_runme.m b/Examples/test-suite/octave/template_ref_type_runme.m +index ef77e06..9135fb0 100644 +--- a/Examples/test-suite/octave/template_ref_type_runme.m ++++ b/Examples/test-suite/octave/template_ref_type_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + template_ref_type + + xr = template_ref_type.XC(); +diff --git a/Examples/test-suite/octave/template_static_runme.m b/Examples/test-suite/octave/template_static_runme.m +index c54139a..8d22fed 100644 +--- a/Examples/test-suite/octave/template_static_runme.m ++++ b/Examples/test-suite/octave/template_static_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + template_static + + Foo_bar_double(1); +diff --git a/Examples/test-suite/octave/template_typedef_cplx4_runme.m b/Examples/test-suite/octave/template_typedef_cplx4_runme.m +index 4db276d..e0c9a32 100644 +--- a/Examples/test-suite/octave/template_typedef_cplx4_runme.m ++++ b/Examples/test-suite/octave/template_typedef_cplx4_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + template_typedef_cplx4 + + # +diff --git a/Examples/test-suite/octave/template_typedef_import_runme.m b/Examples/test-suite/octave/template_typedef_import_runme.m +index 0574ab1..0b3f215 100644 +--- a/Examples/test-suite/octave/template_typedef_import_runme.m ++++ b/Examples/test-suite/octave/template_typedef_import_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + template_typedef_cplx2 + template_typedef_import + +diff --git a/Examples/test-suite/octave/typedef_class_runme.m b/Examples/test-suite/octave/typedef_class_runme.m +index 97d2aed..55878a2 100644 +--- a/Examples/test-suite/octave/typedef_class_runme.m ++++ b/Examples/test-suite/octave/typedef_class_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + typedef_class + + a = typedef_class.RealA(); +diff --git a/Examples/test-suite/octave/typedef_inherit_runme.m b/Examples/test-suite/octave/typedef_inherit_runme.m +index 6c4c47a..fbe5436 100644 +--- a/Examples/test-suite/octave/typedef_inherit_runme.m ++++ b/Examples/test-suite/octave/typedef_inherit_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + typedef_inherit + + a = typedef_inherit.Foo(); +diff --git a/Examples/test-suite/octave/typename_runme.m b/Examples/test-suite/octave/typename_runme.m +index c47f817..305cd41 100644 +--- a/Examples/test-suite/octave/typename_runme.m ++++ b/Examples/test-suite/octave/typename_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + typename + f = typename.Foo(); + b = typename.Bar(); +diff --git a/Examples/test-suite/octave/using1_runme.m b/Examples/test-suite/octave/using1_runme.m +index 0c37daf..9253a1d 100644 +--- a/Examples/test-suite/octave/using1_runme.m ++++ b/Examples/test-suite/octave/using1_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + using1 + + if (using1.spam(37) != 37) +diff --git a/Examples/test-suite/octave/using2_runme.m b/Examples/test-suite/octave/using2_runme.m +index 205c6d7..7cc6689 100644 +--- a/Examples/test-suite/octave/using2_runme.m ++++ b/Examples/test-suite/octave/using2_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + using2 + + if (using2.spam(37) != 37) +diff --git a/Examples/test-suite/octave/using_composition_runme.m b/Examples/test-suite/octave/using_composition_runme.m +index 9b58d6d..63192ad 100644 +--- a/Examples/test-suite/octave/using_composition_runme.m ++++ b/Examples/test-suite/octave/using_composition_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + using_composition + + f = FooBar(); +diff --git a/Examples/test-suite/octave/using_extend_runme.m b/Examples/test-suite/octave/using_extend_runme.m +index b9c13fa..9b8f402 100644 +--- a/Examples/test-suite/octave/using_extend_runme.m ++++ b/Examples/test-suite/octave/using_extend_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + using_extend + + f = FooBar(); +diff --git a/Examples/test-suite/octave/using_protected_runme.m b/Examples/test-suite/octave/using_protected_runme.m +index ed4b1c3..b5138c1 100644 +--- a/Examples/test-suite/octave/using_protected_runme.m ++++ b/Examples/test-suite/octave/using_protected_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + using_protected + + f = FooBar(); +diff --git a/Examples/test-suite/octave/voidtest_runme.m b/Examples/test-suite/octave/voidtest_runme.m +index e62f8a5..fb411ee 100644 +--- a/Examples/test-suite/octave/voidtest_runme.m ++++ b/Examples/test-suite/octave/voidtest_runme.m +@@ -1,3 +1,8 @@ ++# do not dump Octave core ++if exist("crash_dumps_octave_core", "builtin") ++ crash_dumps_octave_core(0); ++endif ++ + voidtest + + voidtest.globalfunc(); diff --git a/swig-3.0.11_octave42.patch b/swig-3.0.11_octave42.patch index 7dff7cd..54fbd1e 100644 --- a/swig-3.0.11_octave42.patch +++ b/swig-3.0.11_octave42.patch @@ -587,7 +587,7 @@ Index: swig-3.0.11/configure.ac =================================================================== --- swig-3.0.11.orig/configure.ac +++ swig-3.0.11/configure.ac -@@ -1017,30 +1017,77 @@ OCTAVE_SO=.oct +@@ -1018,30 +1018,77 @@ OCTAVE_SO=.oct AC_ARG_WITH(octave, AS_HELP_STRING([--without-octave], [Disable Octave]) AS_HELP_STRING([--with-octave=path], [Set location of Octave executable]),[OCTAVEBIN="$withval"], [OCTAVEBIN="$alllang_default"]) @@ -673,7 +673,7 @@ Index: swig-3.0.11/configure.ac AC_MSG_CHECKING([for Octave preprocessor flags]) OCTAVE_CPPFLAGS= for var in CPPFLAGS INCFLAGS ALL_CXXFLAGS; do -@@ -1052,8 +1099,9 @@ if test -n "$OCTAVE"; then +@@ -1053,8 +1100,9 @@ if test -n "$OCTAVE"; then done done AC_MSG_RESULT([$OCTAVE_CPPFLAGS]) @@ -684,7 +684,7 @@ Index: swig-3.0.11/configure.ac for var in ALL_CXXFLAGS; do for flag in `env - ${mkoctfile} -p ${var}`; do case ${flag} in -@@ -1065,28 +1113,20 @@ if test -n "$OCTAVE"; then +@@ -1066,28 +1114,20 @@ if test -n "$OCTAVE"; then save_CXXFLAGS="${CXXFLAGS}" CXXFLAGS="-Werror -O0" AC_COMPILE_IFELSE([ @@ -716,3 +716,9 @@ Index: swig-3.0.11/configure.ac fi AC_SUBST(OCTAVE) +Index: swig-3.0.11/Lib/perl5/std_wstring.i +=================================================================== +--- /dev/null ++++ swig-3.0.11/Lib/perl5/std_wstring.i +@@ -0,0 +1 @@ ++%include diff --git a/swig.spec b/swig.spec index 3bc07b6..0bb77cc 100644 --- a/swig.spec +++ b/swig.spec @@ -42,11 +42,12 @@ Source3: ccache-swig.sh Source4: ccache-swig.csh Patch0: swig308-Do-not-use-isystem.patch +Patch1: https://github.com/swig/swig/commit/9e66af3fefa07fad0103f97eef8e1dc86b3498ba.patch#/swig-3.0.11_octave-no-core-dump.patch # Support for Octave 4.2. Drop patch on v3.0.12 release. # Backported from https://github.com/swig/swig/pull/875. %if 0%{?fedora} >= 26 -Patch1: swig-3.0.11_octave42.patch +Patch2: swig-3.0.11_octave42.patch %endif # 0#{?fedora} >= 26 BuildRequires: perl, pcre-devel @@ -139,8 +140,9 @@ in gdb. %setup -q -n swig-%{version} %patch0 -p1 -b .isystem +%patch1 -p1 -b .ioctave_core_dump %if 0%{?fedora} >= 26 -%patch1 -p1 -b .ioctave42 +%patch2 -p1 -b .ioctave42 %endif # 0#{?fedora} >= 26 for all in CHANGES README; do @@ -289,7 +291,9 @@ install -pm 644 Tools/swig.gdb %{buildroot}%{_datadir}/%{name}/gdb %changelog * Sat Jan 14 2017 Björn Esser - 3.0.11-2 -- Add Patch1 for Fedora >= 26, backported from upstream +- Add Patch1 from upstream + - Do not dump Octave core in examples/test suite scripts +- Add Patch2 for Fedora >= 26, backported from upstream - Support for Octave 4.2 * Mon Jan 02 2017 Jitka Plesnikova - 3.0.11-1