Fix #3433541 %typemap(in, numinputs=0) with 10+ arguments.

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12849 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
William S Fulton 2011-11-28 19:35:44 +00:00
commit 6d922f2ddd
5 changed files with 40 additions and 1 deletions

View file

@ -420,6 +420,7 @@ CPP_TEST_CASES += \
typemap_arrays \
typemap_delete \
typemap_global_scope \
typemap_manyargs \
typemap_namespace \
typemap_ns_using \
typemap_numinputs \

View file

@ -0,0 +1,20 @@
%module typemap_manyargs
%typemap(in,numinputs=0) (int* a1, int* a2, int* a3, int* a4, int* a5, int* a6, int *a7, int *a8, int *a9, int *a10) (int temp1,int temp2,int temp3,int temp4,int temp5,int temp6,int temp7,int temp8, int temp9, int temp10)
{
$1 = &temp1; // the code generate for this is arg2 = &temp1;
$2 = &temp2; // the code generate for this is arg3 = &temp2;
$3 = &temp3; // and so on...
$4 = &temp4;
$5 = &temp5;
$6 = &temp6;
$7 = &temp7;
$8 = &temp8;
$9 = &temp9;
$10 = &temp10; // the code generated for this is arg20 = &temp1, and arg20 does not exist.
int $10_ptr = 0; // Was arg20_ptr
}
%inline %{
void my_c_function(char * filename,int* a1, int* a2, int* a3, int* a4, int* a5, int* a6, int *a7, int *a8, int *a9, int *a10) {}
%}