more cases, and C/C++ compatibility

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6349 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Marcelo Matus 2004-10-06 17:32:03 +00:00
commit 200111d52d
3 changed files with 10 additions and 4 deletions

View file

@ -308,6 +308,7 @@ C_TEST_CASES += \
name \
nested \
newobject2 \
overload_extend \
overload_extendc \
preproc \
ret_by_value \

View file

@ -1,14 +1,18 @@
%module overload_extend
#ifndef __cplusplus
%typemap(default) double y "$1=1000;";
#endif
#pragma SWIG nowarn=-302
%extend Foo {
int test() { return 0; }
int test(int x) { x = 0; return 1; }
int test(char *s) { s = 0; return 2; }
#ifdef __cplusplus
int test(double x, double y = 0) { x = 0; y = 0; return 3; }
double test(double x, double y = 1000) { return x + y; }
#else
int test(double x, double y) { x = 0; y = 0; return 3; }
double test(double x, double y) { return x + y; }
#endif
};

View file

@ -7,7 +7,8 @@ if f.test(3) != 1:
raise RuntimeError
if f.test("hello") != 2:
raise RuntimeError
if f.test(3.5,2.5) != 3:
if f.test(3,2) != 5:
raise RuntimeError
if f.test(3.0) != 1003:
raise RuntimeError