long long typemap mods for using with %apply by compilers that don't understand long long
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@4502 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
3d030619ba
commit
18dc9ec458
2 changed files with 32 additions and 14 deletions
|
|
@ -31,10 +31,13 @@ you would use a real value instead.
|
||||||
int *INPUT
|
int *INPUT
|
||||||
short *INPUT
|
short *INPUT
|
||||||
long *INPUT
|
long *INPUT
|
||||||
|
long long *INPUT
|
||||||
unsigned int *INPUT
|
unsigned int *INPUT
|
||||||
unsigned short *INPUT
|
unsigned short *INPUT
|
||||||
unsigned long *INPUT
|
unsigned long *INPUT
|
||||||
|
unsigned long long *INPUT
|
||||||
unsigned char *INPUT
|
unsigned char *INPUT
|
||||||
|
bool *INPUT
|
||||||
float *INPUT
|
float *INPUT
|
||||||
double *INPUT
|
double *INPUT
|
||||||
|
|
||||||
|
|
@ -79,14 +82,14 @@ INPUT_TYPEMAP(unsigned char, SvUV);
|
||||||
INPUT_TYPEMAP(bool, SvIV);
|
INPUT_TYPEMAP(bool, SvIV);
|
||||||
|
|
||||||
|
|
||||||
%typemap(in) long long *INPUT(long long temp), long long &INPUT(long long temp) {
|
%typemap(in) long long *INPUT($*1_ltype temp), long long &INPUT($*1_ltype temp) {
|
||||||
temp = strtoll(SvPV($input,PL_na), 0, 0);
|
temp = strtoll(SvPV($input,PL_na), 0, 0);
|
||||||
$1 = &temp;
|
$1 = &temp;
|
||||||
}
|
}
|
||||||
%typemap(typecheck) long long *INPUT = long long;
|
%typemap(typecheck) long long *INPUT = long long;
|
||||||
%typemap(typecheck) long long &INPUT = long long;
|
%typemap(typecheck) long long &INPUT = long long;
|
||||||
|
|
||||||
%typemap(in) unsigned long long *INPUT(unsigned long long temp), unsigned long long &INPUT(unsigned long long temp) {
|
%typemap(in) unsigned long long *INPUT($*1_ltype temp), unsigned long long &INPUT($*1_ltype temp) {
|
||||||
temp = strtoull(SvPV($input,PL_na), 0, 0);
|
temp = strtoull(SvPV($input,PL_na), 0, 0);
|
||||||
$1 = &temp;
|
$1 = &temp;
|
||||||
}
|
}
|
||||||
|
|
@ -109,10 +112,13 @@ multiple output values, functions will return a Perl array.
|
||||||
int *OUTPUT
|
int *OUTPUT
|
||||||
short *OUTPUT
|
short *OUTPUT
|
||||||
long *OUTPUT
|
long *OUTPUT
|
||||||
|
long long *OUTPUT
|
||||||
unsigned int *OUTPUT
|
unsigned int *OUTPUT
|
||||||
unsigned short *OUTPUT
|
unsigned short *OUTPUT
|
||||||
unsigned long *OUTPUT
|
unsigned long *OUTPUT
|
||||||
|
unsigned long long *OUTPUT
|
||||||
unsigned char *OUTPUT
|
unsigned char *OUTPUT
|
||||||
|
bool *OUTPUT
|
||||||
float *OUTPUT
|
float *OUTPUT
|
||||||
double *OUTPUT
|
double *OUTPUT
|
||||||
|
|
||||||
|
|
@ -151,8 +157,8 @@ output values.
|
||||||
bool *OUTPUT(bool temp), bool &OUTPUT(bool temp),
|
bool *OUTPUT(bool temp), bool &OUTPUT(bool temp),
|
||||||
float *OUTPUT(float temp), float &OUTPUT(float temp),
|
float *OUTPUT(float temp), float &OUTPUT(float temp),
|
||||||
double *OUTPUT(double temp), double &OUTPUT(double temp),
|
double *OUTPUT(double temp), double &OUTPUT(double temp),
|
||||||
long long *OUTPUT(long long temp), long long &OUTPUT(long long temp),
|
long long *OUTPUT($*1_ltype temp), long long &OUTPUT($*1_ltype temp),
|
||||||
unsigned long long *OUTPUT(unsigned long long temp), unsigned long long &OUTPUT(unsigned long long temp)
|
unsigned long long *OUTPUT($*1_ltype temp), unsigned long long &OUTPUT($*1_ltype temp)
|
||||||
"$1 = &temp;";
|
"$1 = &temp;";
|
||||||
|
|
||||||
%typemap(argout) int *OUTPUT, int &OUTPUT,
|
%typemap(argout) int *OUTPUT, int &OUTPUT,
|
||||||
|
|
@ -230,10 +236,13 @@ returned in the form of a Perl array.
|
||||||
int *INOUT
|
int *INOUT
|
||||||
short *INOUT
|
short *INOUT
|
||||||
long *INOUT
|
long *INOUT
|
||||||
|
long long *INOUT
|
||||||
unsigned int *INOUT
|
unsigned int *INOUT
|
||||||
unsigned short *INOUT
|
unsigned short *INOUT
|
||||||
unsigned long *INOUT
|
unsigned long *INOUT
|
||||||
|
unsigned long long *INOUT
|
||||||
unsigned char *INOUT
|
unsigned char *INOUT
|
||||||
|
bool *INOUT
|
||||||
float *INOUT
|
float *INOUT
|
||||||
double *INOUT
|
double *INOUT
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -28,10 +28,13 @@ you would use a real value instead.
|
||||||
int *INPUT
|
int *INPUT
|
||||||
short *INPUT
|
short *INPUT
|
||||||
long *INPUT
|
long *INPUT
|
||||||
|
long long *INPUT
|
||||||
unsigned int *INPUT
|
unsigned int *INPUT
|
||||||
unsigned short *INPUT
|
unsigned short *INPUT
|
||||||
unsigned long *INPUT
|
unsigned long *INPUT
|
||||||
|
unsigned long long *INPUT
|
||||||
unsigned char *INPUT
|
unsigned char *INPUT
|
||||||
|
bool *INPUT
|
||||||
float *INPUT
|
float *INPUT
|
||||||
double *INPUT
|
double *INPUT
|
||||||
|
|
||||||
|
|
@ -157,17 +160,17 @@ or you can use the %apply directive :
|
||||||
$1 = &temp;
|
$1 = &temp;
|
||||||
}
|
}
|
||||||
|
|
||||||
%typemap(in) long long *INPUT(long long temp),
|
%typemap(in) long long *INPUT($*1_ltype temp),
|
||||||
long long &INPUT(long long temp)
|
long long &INPUT($*1_ltype temp)
|
||||||
{
|
{
|
||||||
temp = (long long) strtoll(Tcl_GetStringFromObj($input,NULL),0,0);
|
temp = ($*1_ltype) strtoll(Tcl_GetStringFromObj($input,NULL),0,0);
|
||||||
$1 = &temp;
|
$1 = &temp;
|
||||||
}
|
}
|
||||||
|
|
||||||
%typemap(in) unsigned long long *INPUT(unsigned long long temp),
|
%typemap(in) unsigned long long *INPUT($*1_ltype temp),
|
||||||
unsigned long long &INPUT(unsigned long long temp)
|
unsigned long long &INPUT($*1_ltype temp)
|
||||||
{
|
{
|
||||||
temp = (long long) strtoull(Tcl_GetStringFromObj($input,NULL),0,0);
|
temp = ($*1_ltype) strtoull(Tcl_GetStringFromObj($input,NULL),0,0);
|
||||||
$1 = &temp;
|
$1 = &temp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -184,10 +187,13 @@ multiple output values, they are returned in the form of a Tcl list.
|
||||||
int *OUTPUT
|
int *OUTPUT
|
||||||
short *OUTPUT
|
short *OUTPUT
|
||||||
long *OUTPUT
|
long *OUTPUT
|
||||||
|
long long *OUTPUT
|
||||||
unsigned int *OUTPUT
|
unsigned int *OUTPUT
|
||||||
unsigned short *OUTPUT
|
unsigned short *OUTPUT
|
||||||
unsigned long *OUTPUT
|
unsigned long *OUTPUT
|
||||||
|
unsigned long long *OUTPUT
|
||||||
unsigned char *OUTPUT
|
unsigned char *OUTPUT
|
||||||
|
bool *OUTPUT
|
||||||
float *OUTPUT
|
float *OUTPUT
|
||||||
double *OUTPUT
|
double *OUTPUT
|
||||||
|
|
||||||
|
|
@ -224,8 +230,8 @@ output values.
|
||||||
bool *OUTPUT(bool temp),
|
bool *OUTPUT(bool temp),
|
||||||
float *OUTPUT(float temp),
|
float *OUTPUT(float temp),
|
||||||
double *OUTPUT(double temp),
|
double *OUTPUT(double temp),
|
||||||
long long *OUTPUT(long long temp),
|
long long *OUTPUT($*1_ltype temp),
|
||||||
unsigned long long *OUTPUT(unsigned long long temp),
|
unsigned long long *OUTPUT($*1_ltype temp),
|
||||||
int &OUTPUT(int temp),
|
int &OUTPUT(int temp),
|
||||||
short &OUTPUT(short temp),
|
short &OUTPUT(short temp),
|
||||||
long &OUTPUT(long temp),
|
long &OUTPUT(long temp),
|
||||||
|
|
@ -237,8 +243,8 @@ output values.
|
||||||
unsigned char &OUTPUT(unsigned char temp),
|
unsigned char &OUTPUT(unsigned char temp),
|
||||||
float &OUTPUT(float temp),
|
float &OUTPUT(float temp),
|
||||||
double &OUTPUT(double temp),
|
double &OUTPUT(double temp),
|
||||||
long long &OUTPUT(long long temp),
|
long long &OUTPUT($*1_ltype temp),
|
||||||
unsigned long long &OUTPUT(unsigned long long temp)
|
unsigned long long &OUTPUT($*1_ltype temp)
|
||||||
"$1 = &temp;";
|
"$1 = &temp;";
|
||||||
|
|
||||||
%typemap(argout) int *OUTPUT, int &OUTPUT,
|
%typemap(argout) int *OUTPUT, int &OUTPUT,
|
||||||
|
|
@ -295,10 +301,13 @@ returned in the form of a Tcl list.
|
||||||
int *INOUT
|
int *INOUT
|
||||||
short *INOUT
|
short *INOUT
|
||||||
long *INOUT
|
long *INOUT
|
||||||
|
long long *INOUT
|
||||||
unsigned int *INOUT
|
unsigned int *INOUT
|
||||||
unsigned short *INOUT
|
unsigned short *INOUT
|
||||||
unsigned long *INOUT
|
unsigned long *INOUT
|
||||||
|
unsigned long long *INOUT
|
||||||
unsigned char *INOUT
|
unsigned char *INOUT
|
||||||
|
bool *INOUT
|
||||||
float *INOUT
|
float *INOUT
|
||||||
double *INOUT
|
double *INOUT
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue