diff options
Diffstat (limited to 'Examples/test-suite/typedef_funcptr.i')
| -rw-r--r-- | Examples/test-suite/typedef_funcptr.i | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/Examples/test-suite/typedef_funcptr.i b/Examples/test-suite/typedef_funcptr.i new file mode 100644 index 0000000..f8cdd14 --- /dev/null +++ b/Examples/test-suite/typedef_funcptr.i @@ -0,0 +1,27 @@ +// Tests typedef through function pointers + +%module typedef_funcptr + +%warnfilter(SWIGWARN_RUBY_WRONG_NAME) addf; /* Ruby, wrong constant name */ +%warnfilter(SWIGWARN_RUBY_WRONG_NAME) subf; /* Ruby, wrong constant name */ + +%{ +int addf(int x, int y) { + return x+y; +} +int subf(int x, int y) { + return x-y; +} +%} + +%inline %{ +typedef int Integer; + +extern "C" +Integer do_op(Integer x, Integer y, Integer (*op)(Integer, Integer)) { + return (*op)(x,y); +} +%} + +%constant int addf(int x, int y); +%constant Integer subf(Integer x, Integer y); |
