fix warnings/errors for gcc4.0, icc and valgrind
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7689 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
cc9f9be00f
commit
8bcc0bf8eb
12 changed files with 24 additions and 65 deletions
|
|
@ -220,8 +220,6 @@ macro(long, pfx, long)
|
|||
macro(unsigned long, pfx, ulong)
|
||||
macro(long long, pfx, llong)
|
||||
macro(unsigned long long, pfx, ullong)
|
||||
macro(float, pfx, float)
|
||||
macro(double, pfx, double)
|
||||
macro(char, pfx, char)
|
||||
%enddef
|
||||
|
||||
|
|
@ -463,6 +461,9 @@ macro(size_t, pfx, sizet)
|
|||
return len;
|
||||
}
|
||||
|
||||
static const double stc_double;
|
||||
static const double stc_float;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
|
@ -534,7 +535,6 @@ macro(size_t, pfx, sizet)
|
|||
return t;
|
||||
}
|
||||
|
||||
|
||||
};
|
||||
|
||||
int v_check()
|
||||
|
|
@ -547,7 +547,6 @@ macro(size_t, pfx, sizet)
|
|||
|
||||
}
|
||||
|
||||
|
||||
%inline %{
|
||||
|
||||
const char* char_foo(float f, const char *s) {
|
||||
|
|
@ -560,6 +559,11 @@ macro(size_t, pfx, sizet)
|
|||
|
||||
%}
|
||||
|
||||
%{
|
||||
const double Test::stc_double = 1;
|
||||
const double Test::stc_float = 1;
|
||||
%}
|
||||
|
||||
|
||||
%inline
|
||||
%{
|
||||
|
|
|
|||
|
|
@ -11,8 +11,6 @@
|
|||
|
||||
A(int v): val(v)
|
||||
{
|
||||
int a = 2;
|
||||
a += (a +=1 ) = 5;
|
||||
}
|
||||
|
||||
A& operator+=(int v)
|
||||
|
|
|
|||
|
|
@ -14,8 +14,6 @@ cvar.var_long = sct_long
|
|||
cvar.var_ulong = sct_ulong
|
||||
cvar.var_llong = sct_llong
|
||||
cvar.var_ullong = sct_ullong
|
||||
cvar.var_float = sct_float
|
||||
cvar.var_double = sct_double
|
||||
cvar.var_char = sct_char
|
||||
cvar.var_pchar = sct_pchar
|
||||
cvar.var_pcharc = sct_pcharc
|
||||
|
|
@ -46,8 +44,6 @@ if cvar.var_long != cct_long: pyerror("long", cvar.var_long, cct_long)
|
|||
if cvar.var_ulong != cct_ulong: pyerror("ulong", cvar.var_ulong, cct_ulong)
|
||||
if cvar.var_llong != cct_llong: pyerror("llong", cvar.var_llong, cct_llong)
|
||||
if cvar.var_ullong != cct_ullong: pyerror("ullong", cvar.var_ullong, cct_ullong)
|
||||
if cvar.var_float != cct_float: pyerror("float", cvar.var_float, cct_float)
|
||||
if cvar.var_double != cct_double: pyerror("double", cvar.var_double, cct_double)
|
||||
if cvar.var_char != cct_char: pyerror("char", cvar.var_char, cct_char)
|
||||
if cvar.var_pchar != cct_pchar: pyerror("pchar", cvar.var_pchar, cct_pchar)
|
||||
if cvar.var_pcharc != cct_pcharc: pyerror("pchar", cvar.var_pcharc, cct_pcharc)
|
||||
|
|
@ -128,8 +124,6 @@ p.var_long = p.stc_long
|
|||
p.var_ulong = p.stc_ulong
|
||||
p.var_llong = p.stc_llong
|
||||
p.var_ullong = p.stc_ullong
|
||||
p.var_float = p.stc_float
|
||||
p.var_double = p.stc_double
|
||||
p.var_char = p.stc_char
|
||||
p.var_pchar = sct_pchar
|
||||
p.var_pcharc = sct_pcharc
|
||||
|
|
@ -156,8 +150,6 @@ t.var_long = t.stc_long
|
|||
t.var_ulong = t.stc_ulong
|
||||
t.var_llong = t.stc_llong
|
||||
t.var_ullong = t.stc_ullong
|
||||
t.var_float = t.stc_float
|
||||
t.var_double = t.stc_double
|
||||
t.var_char = t.stc_char
|
||||
t.var_pchar = sct_pchar
|
||||
t.var_pcharc = sct_pcharc
|
||||
|
|
|
|||
|
|
@ -5,9 +5,6 @@ include Primitive_types
|
|||
|
||||
raise RuntimeError if val_uchar(255) != 255
|
||||
|
||||
raise RuntimeError if val_double(255.5) != 255.5
|
||||
|
||||
|
||||
fail = 0
|
||||
begin
|
||||
val_uchar(-1)
|
||||
|
|
|
|||
|
|
@ -10,40 +10,28 @@ SWIG_Python_ErrorType(int code) {
|
|||
switch(code) {
|
||||
case SWIG_MemoryError:
|
||||
return PyExc_MemoryError;
|
||||
break;
|
||||
case SWIG_IOError:
|
||||
return PyExc_IOError;
|
||||
break;
|
||||
case SWIG_RuntimeError:
|
||||
return PyExc_RuntimeError;
|
||||
break;
|
||||
case SWIG_IndexError:
|
||||
return PyExc_IndexError;
|
||||
break;
|
||||
case SWIG_TypeError:
|
||||
return PyExc_TypeError;
|
||||
break;
|
||||
case SWIG_DivisionByZero:
|
||||
return PyExc_ZeroDivisionError;
|
||||
break;
|
||||
case SWIG_OverflowError:
|
||||
return PyExc_OverflowError;
|
||||
break;
|
||||
case SWIG_SyntaxError:
|
||||
return PyExc_SyntaxError;
|
||||
break;
|
||||
case SWIG_ValueError:
|
||||
return PyExc_ValueError;
|
||||
break;
|
||||
case SWIG_SystemError:
|
||||
return PyExc_SystemError;
|
||||
break;
|
||||
case SWIG_AttributeError:
|
||||
return PyExc_AttributeError;
|
||||
break;
|
||||
default:
|
||||
return PyExc_RuntimeError;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -26,7 +26,6 @@ SWIG_AsWCharPtrAndSize(PyObject *obj, wchar_t **cptr, size_t *psize, int *alloc)
|
|||
int len = PyUnicode_GetSize(obj);
|
||||
if (cptr) {
|
||||
*cptr = SWIG_new_array(len + 1, wchar_t);
|
||||
memset(*cptr, 0, (len + 1)*sizeof(wchar_t));
|
||||
PyUnicode_AsWideChar((PyUnicodeObject *)obj, *cptr, len);
|
||||
(*cptr)[len] = 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,43 +10,30 @@ SWIG_Ruby_ErrorType(int SWIG_code) {
|
|||
switch (SWIG_code) {
|
||||
case SWIG_MemoryError:
|
||||
return rb_eNoMemError;
|
||||
break;
|
||||
case SWIG_IOError:
|
||||
return rb_eIOError;
|
||||
break;
|
||||
case SWIG_RuntimeError:
|
||||
return rb_eRuntimeError;
|
||||
break;
|
||||
case SWIG_IndexError:
|
||||
return rb_eIndexError;
|
||||
break;
|
||||
case SWIG_TypeError:
|
||||
return rb_eTypeError;
|
||||
break;
|
||||
case SWIG_DivisionByZero:
|
||||
return rb_eZeroDivError;
|
||||
break;
|
||||
case SWIG_OverflowError:
|
||||
return rb_eRangeError;
|
||||
break;
|
||||
case SWIG_SyntaxError:
|
||||
return rb_eSyntaxError;
|
||||
break;
|
||||
case SWIG_ValueError:
|
||||
return rb_eArgError;
|
||||
break;
|
||||
case SWIG_SystemError:
|
||||
return rb_eFatal;
|
||||
break;
|
||||
case SWIG_AttributeError:
|
||||
return rb_eRuntimeError;
|
||||
break;
|
||||
case SWIG_UnknownError:
|
||||
return rb_eRuntimeError;
|
||||
break;
|
||||
default:
|
||||
return rb_eRuntimeError;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -7,8 +7,12 @@
|
|||
|
||||
/* template workaround for compilers that cannot correctly implement the C++ standard */
|
||||
#ifndef SWIGTEMPLATEDISAMBIGUATOR
|
||||
# if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560)
|
||||
# define SWIGTEMPLATEDISAMBIGUATOR template
|
||||
# if defined(__SUNPRO_CC)
|
||||
# if (__SUNPRO_CC <= 0x560)
|
||||
# define SWIGTEMPLATEDISAMBIGUATOR template
|
||||
# else
|
||||
# define SWIGTEMPLATEDISAMBIGUATOR
|
||||
# endif
|
||||
# else
|
||||
# define SWIGTEMPLATEDISAMBIGUATOR
|
||||
# endif
|
||||
|
|
|
|||
|
|
@ -10,40 +10,28 @@ SWIG_Tcl_ErrorType(int code) {
|
|||
switch(code) {
|
||||
case SWIG_MemoryError:
|
||||
return "MemoryError";
|
||||
break;
|
||||
case SWIG_IOError:
|
||||
return "IOError";
|
||||
break;
|
||||
case SWIG_RuntimeError:
|
||||
return "RuntimeError";
|
||||
break;
|
||||
case SWIG_IndexError:
|
||||
return "IndexError";
|
||||
break;
|
||||
case SWIG_TypeError:
|
||||
return "TypeError";
|
||||
break;
|
||||
case SWIG_DivisionByZero:
|
||||
return "ZeroDivisionError";
|
||||
break;
|
||||
case SWIG_OverflowError:
|
||||
return "OverflowError";
|
||||
break;
|
||||
case SWIG_SyntaxError:
|
||||
return "SyntaxError";
|
||||
break;
|
||||
case SWIG_ValueError:
|
||||
return "ValueError";
|
||||
break;
|
||||
case SWIG_SystemError:
|
||||
return "SystemError";
|
||||
break;
|
||||
case SWIG_AttributeError:
|
||||
return "AttributeError";
|
||||
break;
|
||||
default:
|
||||
return "RuntimeError";
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -482,7 +482,7 @@ SWIG_As##CharName##Array(SWIG_Object obj, Char *val, size_t size)
|
|||
if ((csize == size + 1) && cptr && !(cptr[csize-1])) --csize;
|
||||
if (csize <= size) {
|
||||
if (val) {
|
||||
if (csize) memcpy(val, cptr, csize);
|
||||
if (csize) memcpy(val, cptr, csize*sizeof(Char));
|
||||
if (csize < size) memset(val + csize, 0, (size - csize)*sizeof(Char));
|
||||
if (alloc == SWIG_NEWOBJ) SWIG_delete_array(cptr);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,12 +36,14 @@ void emit_args(SwigType *rt, ParmList *l, Wrapper *f) {
|
|||
|
||||
/* Handle return type */
|
||||
if (rt && (SwigType_type(rt) != T_VOID)) {
|
||||
SwigType *vt = 0;
|
||||
vt = cplus_value_type(rt);
|
||||
if (!vt) {
|
||||
Wrapper_add_local(f,"result", SwigType_lstr(rt,"result"));
|
||||
} else {
|
||||
Wrapper_add_local(f,"result", SwigType_lstr(vt,"result"));
|
||||
SwigType *vt = cplus_value_type(rt);
|
||||
SwigType *tt = vt ? vt : rt;
|
||||
if (SwigType_ispointer(tt)) {
|
||||
Wrapper_add_localv(f,"result", SwigType_lstr(tt,"result"), "= 0", NULL);
|
||||
} else{
|
||||
Wrapper_add_local(f,"result", SwigType_lstr(tt,"result"));
|
||||
}
|
||||
if (vt) {
|
||||
Delete(vt);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2781,7 +2781,7 @@ int PYTHON::classDirectorMethod(Node *n, Node *parent, String *super) {
|
|||
}
|
||||
/* declare Python return value */
|
||||
if (!is_void) {
|
||||
Wrapper_add_local(w, "result", "PyObject *result");
|
||||
Wrapper_add_local(w, "result", "PyObject *result = 0");
|
||||
}
|
||||
|
||||
/* direct call to superclass if _up is set */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue