Merge branch 'master' into directorargout_and_java_typemaps

This commit is contained in:
Andrey Starodubtsev 2017-01-21 17:41:31 +03:00
commit 4ba9de370e
470 changed files with 15434 additions and 3110 deletions

View file

@ -335,6 +335,7 @@ CPP_TEST_CASES += \
preproc_constants \
primitive_ref \
private_assign \
proxycode \
protected_rename \
pure_virtual \
redefined \
@ -353,6 +354,7 @@ CPP_TEST_CASES += \
rename_pcre_encoder \
rename_pcre_enum \
rename_predicates \
rename_wildcard \
restrict_cplusplus \
return_const_value \
return_value_scope \
@ -407,6 +409,7 @@ CPP_TEST_CASES += \
template_default_arg_overloaded \
template_default_arg_overloaded_extend \
template_default_arg_virtual_destructor \
template_default_cache \
template_default_class_parms \
template_default_class_parms_typedef \
template_default_inherit \

View file

@ -1,56 +1,86 @@
/* This testcase checks whether SWIG correctly parses alias templates. */
/* This testcase checks whether SWIG correctly handles alias templates. */
%module cpp11_template_typedefs
%warnfilter(SWIGWARN_CPP11_ALIAS_TEMPLATE) TypedefName;
%warnfilter(SWIGWARN_CPP11_ALIAS_TEMPLATE) TypedefNamePtr;
%warnfilter(SWIGWARN_CPP11_ALIAS_TEMPLATE) MyIntKeyClass;
%warnfilter(SWIGWARN_CPP11_ALIAS_DECLARATION) PF;
%warnfilter(SWIGWARN_CPP11_ALIAS_DECLARATION) BucketAllocator1;
%warnfilter(SWIGWARN_CPP11_ALIAS_DECLARATION) BucketAllocator2;
// This warning should go away when type aliasing is supported
#pragma SWIG nowarn=SWIGWARN_PARSE_USING_UNDEF // Nothing known about 'p.SomeType< char *,T2,4 >'.
%inline %{
template< typename T1, typename T2, int >
template<typename T>
using ptr_t = T*;
namespace ns {
template<typename T1, typename T2, int N>
class SomeType {
public:
using type1_t = T1;
using type2_t = T2;
T1 a;
T2 b;
int c;
constexpr int get_n() { return N; }
};
// template aliasing
template< typename T2 >
using TypedefName = SomeType<char*, T2, 5>;
template< typename T2 >
using TypedefNamePtr = SomeType<char*, T2, 4>*;
// type aliasing
typedef void (*PFD)(double); // Old style
using PF = void (*)(double); // New introduced syntax
// use of template aliasing
template<typename Key,typename Val>
class MyCPP11Class {
// Specialization for T1=const char*, T2=bool
template<int N>
class SomeType<const char*, bool, N> {
public:
using type1_t = const char*;
using type2_t = bool;
type1_t a;
type2_t b;
constexpr int get_n() { return 3 * N; }
};
template<typename VAL> using MyIntKeyClass = MyCPP11Class<int,VAL>;
MyIntKeyClass<char> intchar;
TypedefName<int> alias1(TypedefName<int> a) { return a; }
TypedefNamePtr<int> alias1(TypedefNamePtr<int> a = nullptr) { return a; }
%}
// alias templates
template<typename T2>
using TypedefName = SomeType<const char*, T2, 5>;
template<typename T2>
using TypedefNamePtr = ptr_t<SomeType<const char*, T2, 4>>;
// alias template that returns T2 for a SomeType<T1,T2,N> class
template<typename T>
using T2_of = typename T::type2_t;
T2_of<TypedefName<int>> get_SomeType_b(const SomeType<const char*, int, 5>& x) { return x.b; }
template<typename T>
T2_of<TypedefName<T>> get_SomeType_b2(const TypedefName<T>& x) { return x.b; }
} // namespace ns
ns::TypedefName<int> create_TypedefName() { return { "hello", 10}; }
ns::TypedefName<bool> create_TypedefNameBool() { return { "hello", true}; }
ns::TypedefNamePtr<int> identity(ns::TypedefNamePtr<int> a = nullptr) { return a; }
%inline %{
typedef double Val;
template<typename T> struct ListBucket {
};
namespace Alloc {
template<typename T> struct rebind {
typedef int other;
using other = int;
};
}
using BucketAllocator1 = typename Alloc::template rebind<ListBucket<Val>>::other;
using BucketAllocator2 = typename Alloc::template rebind<::template ListBucket<double>>::other;
BucketAllocator1 get_bucket_allocator1() { return 1; }
BucketAllocator2 get_bucket_allocator2() { return 2; }
%}
%immutable ns::SomeType::a;
// %template() directives
%template(SomeTypeInt5) ns::SomeType<const char*, int, 5>;
%template(SomeTypeInt4) ns::SomeType<const char*, int, 4>;
%template(SomeTypeBool5) ns::SomeType<const char*, bool, 5>;
%template(ListBucketDouble) ListBucket<Val>;
%template(RebindListBucketDouble) Alloc::rebind<ListBucket<Val>>;
%template() ptr_t<ns::SomeType<const char*, int, 4>>;
%template() ns::TypedefName<int>;
%template() ns::TypedefName<bool>;
%template() ns::TypedefNamePtr<int>;
%template() ns::T2_of<ns::TypedefName<int>>;
%template(get_SomeType_b2) ns::get_SomeType_b2<int>;

View file

@ -0,0 +1,33 @@
using System;
using proxycodeNamespace;
public class proxycode_runme {
public static void Main() {
if (new Proxy1().proxycode1(100) != 101)
throw new Exception("Fail");
if (new Proxy2().proxycode2a(100) != 102)
throw new Exception("Fail");
if (new Proxy2().proxycode2b(100) != 102)
throw new Exception("Fail");
if (new Proxy3().proxycode3(100) != 103)
throw new Exception("Fail");
if (new Proxy4().proxycode4(100) != 104)
throw new Exception("Fail");
if (new Proxy4.Proxy4Nested().proxycode4nested(100) != 144)
throw new Exception("Fail");
if (new Proxy5a().proxycode5((short)100) != (short)100)
throw new Exception("Fail");
if (new Proxy5b().proxycode5(100) != 100)
throw new Exception("Fail");
if (new Proxy5b().proxycode5(100, 100) != 255)
throw new Exception("Fail");
uint t1 = 10;
uint t2 = 100;
Proxy6 p = new Proxy6().proxyUseT(t1, t2);
p.useT(t1, t2);
}
}

View file

@ -0,0 +1,41 @@
module proxycode_runme;
import std.exception;
import proxycode.Proxy1;
import proxycode.Proxy2;
import proxycode.Proxy3;
import proxycode.Proxy4;
import proxycode.Proxy5a;
import proxycode.Proxy5b;
import proxycode.Proxy6;
void main() {
if (new Proxy1().proxycode1(100) != 101)
throw new Exception("Fail");
if (new Proxy1().proxycode1(100) != 101)
throw new Exception("Fail");
if (new Proxy2().proxycode2a(100) != 102)
throw new Exception("Fail");
if (new Proxy2().proxycode2b(100) != 102)
throw new Exception("Fail");
if (new Proxy3().proxycode3(100) != 103)
throw new Exception("Fail");
if (new Proxy4().proxycode4(100) != 104)
throw new Exception("Fail");
// if (new Proxy4.Proxy4Nested().proxycode4nested(100) != 144)
// throw new Exception("Fail");
if (new Proxy5a().proxycode5(100) != 100)
throw new Exception("Fail");
if (new Proxy5b().proxycode5(100) != 100)
throw new Exception("Fail");
if (new Proxy5b().proxycode5(100, 100) != 255)
throw new Exception("Fail");
uint t1 = 10;
uint t2 = 100;
Proxy6 p = new Proxy6().proxyUseT(t1, t2);
p.useT(t1, t2);
}

View file

@ -0,0 +1,80 @@
%module xxx
%namewarn("314:'key1' is a keyword, renaming to '_key1'", rename="_%s") "key1";
%namewarn("314:'key2' is a keyword, renaming to '_key2'", rename="_%s") "key2";
%namewarn("314:'key3' is a keyword, renaming to '_key3'", rename="_%s") "key3";
%namewarn("314:'key4' is a keyword, renaming to '_key4'", rename="_%s") "key4";
%namewarn("314:'key5' is a keyword, renaming to '_key5'", rename="_%s") "key5";
// Non-templated
%ignore KlassA::key1;
%rename(key2renamed) KlassA::key2;
%rename(key3renamed) KlassA::key3;
%rename(key4renamed) KlassA::key4;
// Templated
%ignore KlassB::key1;
%rename(key2renamed) KlassB::key2;
%rename(key3renamed) KlassB<double>::key3;
// Template specialized
%ignore KlassC::key1;
%rename(key2renamed) KlassC::key2;
%rename(key3renamed) KlassC<double>::key3;
// No warnings for these...
%inline %{
struct KlassA {
void key1() {}
void key2() {}
void key3() {}
template<typename X> void key4(X x) {}
};
template<class T> struct KlassB {
void key1() {}
void key2() {}
void key3() {}
};
template<class T> struct KlassC {};
template<> struct KlassC<double> {
void key1() {}
void key2() {}
void key3() {}
};
template<typename T> void key5(T t) {}
%}
%template(KlassBDouble) KlassB<double>;
%template(KlassCInt) KlassC<double>;
%template(key5renamed) key5<double>;
// These should create a single warning for each keyword...
%inline %{
struct ClassA {
void key1() {}
void key2() {}
void key3() {}
template<typename X> void key4(X x) {}
};
template<class T> struct ClassB {
void key1() {}
void key2() {}
void key3() {}
};
template<class T> struct ClassC {};
template<> struct ClassC<double> {
void key1() {}
void key2() {}
void key3() {}
};
%}
%template(ClassBDouble) ClassB<double>;
%template(ClassCInt) ClassC<double>;
%template(key5) key5<int>;

View file

@ -0,0 +1,10 @@
cpp_namewarn.i:58: Warning 314: 'key1' is a keyword, renaming to '_key1'
cpp_namewarn.i:59: Warning 314: 'key2' is a keyword, renaming to '_key2'
cpp_namewarn.i:60: Warning 314: 'key3' is a keyword, renaming to '_key3'
cpp_namewarn.i:65: Warning 314: 'key1' is a keyword, renaming to '_key1'
cpp_namewarn.i:66: Warning 314: 'key2' is a keyword, renaming to '_key2'
cpp_namewarn.i:67: Warning 314: 'key3' is a keyword, renaming to '_key3'
cpp_namewarn.i:72: Warning 314: 'key1' is a keyword, renaming to '_key1'
cpp_namewarn.i:73: Warning 314: 'key2' is a keyword, renaming to '_key2'
cpp_namewarn.i:74: Warning 314: 'key3' is a keyword, renaming to '_key3'
cpp_namewarn.i:80: Warning 314: 'key5' is a keyword, renaming to '_key5'

View file

@ -0,0 +1,16 @@
;; tests support for native guile pointers
;; https://www.gnu.org/software/guile/manual/html_node/Void-Pointers-and-Byte-Access.html
(dynamic-call "scm_init_argout_module" (dynamic-link "./libargout"))
(use-modules (srfi srfi-4) (system foreign))
(define initial-value 42)
(define some-s32-data (s32vector initial-value))
(if (not (= (incp (bytevector->pointer some-s32-data)) initial-value))
(error "Didn't read s32 data" initial-value some-s32-data))
(if (not (= (s32vector-ref some-s32-data 0) (+ initial-value 1)))
(error "Failed to increment s32 data" some-s32-data))
(exit 0)

View file

@ -18,4 +18,12 @@ class A {
virtual MemberEnum member_virtual_test(MemberEnum e) { return e; }
virtual GlobalEnum global_virtual_test(GlobalEnum e) { return global_test(e); }
};
/* This class overrides nothing. Inherited classes should see base functions.
*/
class A_Intermediate : public A {
public:
A_Intermediate(){}
~A_Intermediate(){}
};
#endif

View file

@ -1,6 +1,6 @@
#include "imports_a.h"
class B : public A
class B : public A_Intermediate
{
public:
B() {};

View file

@ -0,0 +1,2 @@
// %inserted code %header from file
int inserted_header4(int i) { return inserted_header3(i); }

View file

@ -27,9 +27,11 @@ int inserted_header2(int i) { return inserted_header1(i); }
int inserted_header3(int i) { return inserted_header2(i); }
%}
%header "insert_directive.h"
%wrapper %{
// %inserted code %wrapper
int inserted_wrapper(int i) { return inserted_header3(i); }
int inserted_wrapper(int i) { return inserted_header4(i); }
%}
%init %{

View file

@ -0,0 +1,42 @@
import proxycode.*;
public class proxycode_runme {
static {
try {
System.loadLibrary("proxycode");
} catch (UnsatisfiedLinkError e) {
System.err.println("Native code library failed to load. See the chapter on Dynamic Linking Problems in the SWIG Java documentation for help.\n" + e);
System.exit(1);
}
}
public static void main(String argv[]) throws Throwable
{
if (new Proxy1().proxycode1(100) != 101)
throw new RuntimeException("Fail");
if (new Proxy2().proxycode2a(100) != 102)
throw new RuntimeException("Fail");
if (new Proxy2().proxycode2b(100) != 102)
throw new RuntimeException("Fail");
if (new Proxy3().proxycode3(100) != 103)
throw new RuntimeException("Fail");
if (new Proxy4().proxycode4(100) != 104)
throw new RuntimeException("Fail");
if (new Proxy4.Proxy4Nested().proxycode4nested(100) != 144)
throw new RuntimeException("Fail");
if (new Proxy5a().proxycode5((short)100) != (short)100)
throw new RuntimeException("Fail");
if (new Proxy5b().proxycode5(100) != 100)
throw new RuntimeException("Fail");
if (new Proxy5b().proxycode5(100, 100) != 255)
throw new RuntimeException("Fail");
long t1 = 10;
long t2 = 100;
Proxy6 p = new Proxy6().proxyUseT(t1, t2);
p.useT(t1, t2);
}
}

View file

@ -0,0 +1,90 @@
import rename_wildcard.*;
public class rename_wildcard_runme {
static {
try {
System.loadLibrary("rename_wildcard");
} catch (UnsatisfiedLinkError e) {
System.err.println("Native code library failed to load. See the chapter on Dynamic Linking Problems in the SWIG Java documentation for help.\n" + e);
System.exit(1);
}
}
public static void main(String argv[]) {
// Wildcard check
{
new GlobalWildStruct().mm1();
new GlobalWildTemplateStructInt().mm1();
new SpaceWildStruct().mm1();
new SpaceWildTemplateStructInt().mm1();
}
// No declaration
{
new GlobalWildStruct().mm2a();
new GlobalWildTemplateStructInt().mm2b();
new SpaceWildStruct().mm2c();
new SpaceWildTemplateStructInt().mm2d();
new GlobalWildTemplateStructInt().tt2b();
new SpaceWildTemplateStructInt().tt2d();
}
// With declaration
{
new GlobalWildStruct().mm3a();
new GlobalWildTemplateStructInt().mm3b();
new SpaceWildStruct().mm3c();
new SpaceWildTemplateStructInt().mm3d();
new GlobalWildTemplateStructInt().tt3b();
new SpaceWildTemplateStructInt().tt3d();
}
// Global override too
{
new GlobalWildStruct().mm4a();
new GlobalWildTemplateStructInt().mm4b();
new SpaceWildStruct().mm4c();
new SpaceWildTemplateStructInt().mm4d();
new GlobalWildTemplateStructInt().tt4b();
new SpaceWildTemplateStructInt().tt4d();
}
// %extend renames
{
new GlobalWildStruct().mm5a();
new GlobalWildTemplateStructInt().mm5b();
new SpaceWildStruct().mm5c();
new SpaceWildTemplateStructInt().mm5d();
new GlobalWildTemplateStructInt().tt5b();
new SpaceWildTemplateStructInt().tt5d();
}
// operators
{
new GlobalWildStruct().opinta();
new GlobalWildTemplateStructInt().opintb();
new SpaceWildStruct().opintc();
new SpaceWildTemplateStructInt().opintd();
new GlobalWildTemplateStructInt().opdoubleb();
new SpaceWildTemplateStructInt().opdoubled();
}
// Wildcard renames expected for these
{
new NoChangeStruct().mm1();
new NoChangeStruct().mm2();
new NoChangeStruct().mm3();
new NoChangeStruct().mm4();
new NoChangeStruct().mm5();
new NoChangeStruct().opint();
new SpaceNoChangeStruct().mm1();
new SpaceNoChangeStruct().mm2();
new SpaceNoChangeStruct().mm3();
new SpaceNoChangeStruct().mm4();
new SpaceNoChangeStruct().mm5();
new SpaceNoChangeStruct().opint();
}
}
}

View file

@ -0,0 +1,18 @@
import template_default_cache.*;
public class template_default_cache_runme {
static {
try {
System.loadLibrary("template_default_cache");
} catch (UnsatisfiedLinkError e) {
System.err.println("Native code library failed to load. See the chapter on Dynamic Linking Problems in the SWIG Java documentation for help.\n" + e);
System.exit(1);
}
}
public static void main(String argv[]) {
AModelPtr ap = template_default_cache.get_mp_a();
BModelPtr bp = template_default_cache.get_mp_b();
}
}

View file

@ -6,6 +6,7 @@
%array_functions(int,intArray);
%array_class(double, doubleArray);
%array_class(short, shortArray);
%inline %{
typedef struct {
@ -26,3 +27,13 @@ AB globalABArray[3];
%array_class(XY, XYArray)
%array_functions(AB, ABArray)
%inline %{
short sum_array(short x[5]) {
short sum = 0;
int i;
for (i=0; i<5; i++) {
sum = sum + x[i];
}
return sum;
}
%}

View file

@ -6,6 +6,7 @@
%array_functions(int,intArray);
%array_class(double, doubleArray);
%array_class(short, shortArray);
%inline %{
typedef struct {
@ -26,3 +27,13 @@ AB globalABArray[3];
%array_class(XY, XYArray)
%array_functions(AB, ABArray)
%inline %{
short sum_array(short x[5]) {
short sum = 0;
int i;
for (i=0; i<5; i++) {
sum = sum + x[i];
}
return sum;
}
%}

View file

@ -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();

View file

@ -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();

View file

@ -1,3 +1,8 @@
# do not dump Octave core
if exist("crash_dumps_octave_core", "builtin")
crash_dumps_octave_core(0);
endif
abstract_virtual

View file

@ -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;

View file

@ -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();

View file

@ -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);

View file

@ -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");

View file

@ -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);

View file

@ -1,3 +1,8 @@
# do not dump Octave core
if exist("crash_dumps_octave_core", "builtin")
crash_dumps_octave_core(0);
endif
default_args

View file

@ -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;

View file

@ -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);

View file

@ -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");

View file

@ -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);

View file

@ -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(),\

View file

@ -1,3 +1,8 @@
# do not dump Octave core
if exist("crash_dumps_octave_core", "builtin")
crash_dumps_octave_core(0);
endif
director_string

View file

@ -1,3 +1,8 @@
# do not dump Octave core
if exist("crash_dumps_octave_core", "builtin")
crash_dumps_octave_core(0);
endif
director_wstring

View file

@ -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();

View file

@ -1,2 +1,7 @@
# do not dump Octave core
if exist("crash_dumps_octave_core", "builtin")
crash_dumps_octave_core(0);
endif
empty_c

View file

@ -1,2 +1,7 @@
# do not dump Octave core
if exist("crash_dumps_octave_core", "builtin")
crash_dumps_octave_core(0);
endif
empty

View file

@ -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)

View file

@ -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)

View file

@ -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();

View file

@ -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);

View file

@ -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);

View file

@ -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);

View file

@ -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();

View file

@ -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);

View file

@ -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;

View file

@ -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);

View file

@ -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);

View file

@ -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();

View file

@ -1,3 +1,8 @@
# do not dump Octave core
if exist("crash_dumps_octave_core", "builtin")
crash_dumps_octave_core(0);
endif
li_cpointer

View file

@ -1,3 +1,8 @@
# do not dump Octave core
if exist("crash_dumps_octave_core", "builtin")
crash_dumps_octave_core(0);
endif
li_cstring

View file

@ -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)

View file

@ -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);

View file

@ -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);

View file

@ -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};

View file

@ -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)

View file

@ -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";

View file

@ -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();

View file

@ -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

View file

@ -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;

View file

@ -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();

View file

@ -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([]));

View file

@ -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"));

View file

@ -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;

View file

@ -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();

View file

@ -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();

View file

@ -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);

View file

@ -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();

View file

@ -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)

View file

@ -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

View file

@ -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();

View file

@ -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();

View file

@ -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();

View file

@ -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();

View file

@ -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();

View file

@ -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();

View file

@ -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);

View file

@ -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();

View file

@ -1,3 +1,8 @@
# do not dump Octave core
if exist("crash_dumps_octave_core", "builtin")
crash_dumps_octave_core(0);
endif
std_containers

View file

@ -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();

View file

@ -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();

View file

@ -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

View file

@ -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();

View file

@ -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();

View file

@ -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();

View file

@ -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]});

View file

@ -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();

View file

@ -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);

View file

@ -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();

View file

@ -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);

View file

@ -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
#

View file

@ -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

View file

@ -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();

View file

@ -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();

View file

@ -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();

View file

@ -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)

View file

@ -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)

View file

@ -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();

View file

@ -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();

View file

@ -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();

View file

@ -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();

View file

@ -11,6 +11,7 @@ top_builddir = @top_builddir@
CPP_TEST_CASES += \
callback \
li_factory \
php_iterator \
php_namewarn_rename \

Some files were not shown because too many files have changed in this diff Show more