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:
Marcelo Matus 2005-10-19 14:26:13 +00:00
commit 8bcc0bf8eb
12 changed files with 24 additions and 65 deletions

View file

@ -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
%{

View file

@ -11,8 +11,6 @@
A(int v): val(v)
{
int a = 2;
a += (a +=1 ) = 5;
}
A& operator+=(int v)

View file

@ -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

View file

@ -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)

View file

@ -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;
}
}

View file

@ -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;
}

View file

@ -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;
}
}

View file

@ -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

View file

@ -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;
}
}

View file

@ -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);
}

View file

@ -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);
}
}

View file

@ -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 */