From: Julian Seward Date: Tue, 19 Aug 2008 08:57:49 +0000 (+0000) Subject: Make VG_(addToXA) and VG_(addBytesToXA) 64-bit clean. X-Git-Tag: svn/VALGRIND_3_4_0~285 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9d24c252e1a7fbf19932371a008df952a9a89626;p=thirdparty%2Fvalgrind.git Make VG_(addToXA) and VG_(addBytesToXA) 64-bit clean. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8525 --- diff --git a/coregrind/m_debuginfo/storage.c b/coregrind/m_debuginfo/storage.c index 173b15edb7..3fe0b3b121 100644 --- a/coregrind/m_debuginfo/storage.c +++ b/coregrind/m_debuginfo/storage.c @@ -420,7 +420,7 @@ Int ML_(CfiExpr_Undef)( XArray* dst ) CfiExpr e; VG_(memset)( &e, 0, sizeof(e) ); e.tag = Cex_Undef; - return VG_(addToXA)( dst, &e ); + return (Int)VG_(addToXA)( dst, &e ); } Int ML_(CfiExpr_Deref)( XArray* dst, Int ixAddr ) { @@ -428,7 +428,7 @@ Int ML_(CfiExpr_Deref)( XArray* dst, Int ixAddr ) VG_(memset)( &e, 0, sizeof(e) ); e.tag = Cex_Deref; e.Cex.Deref.ixAddr = ixAddr; - return VG_(addToXA)( dst, &e ); + return (Int)VG_(addToXA)( dst, &e ); } Int ML_(CfiExpr_Const)( XArray* dst, UWord con ) { @@ -436,7 +436,7 @@ Int ML_(CfiExpr_Const)( XArray* dst, UWord con ) VG_(memset)( &e, 0, sizeof(e) ); e.tag = Cex_Const; e.Cex.Const.con = con; - return VG_(addToXA)( dst, &e ); + return (Int)VG_(addToXA)( dst, &e ); } Int ML_(CfiExpr_Binop)( XArray* dst, CfiOp op, Int ixL, Int ixR ) { @@ -446,7 +446,7 @@ Int ML_(CfiExpr_Binop)( XArray* dst, CfiOp op, Int ixL, Int ixR ) e.Cex.Binop.op = op; e.Cex.Binop.ixL = ixL; e.Cex.Binop.ixR = ixR; - return VG_(addToXA)( dst, &e ); + return (Int)VG_(addToXA)( dst, &e ); } Int ML_(CfiExpr_CfiReg)( XArray* dst, CfiReg reg ) { @@ -454,7 +454,7 @@ Int ML_(CfiExpr_CfiReg)( XArray* dst, CfiReg reg ) VG_(memset)( &e, 0, sizeof(e) ); e.tag = Cex_CfiReg; e.Cex.CfiReg.reg = reg; - return VG_(addToXA)( dst, &e ); + return (Int)VG_(addToXA)( dst, &e ); } Int ML_(CfiExpr_DwReg)( XArray* dst, Int reg ) { @@ -462,7 +462,7 @@ Int ML_(CfiExpr_DwReg)( XArray* dst, Int reg ) VG_(memset)( &e, 0, sizeof(e) ); e.tag = Cex_DwReg; e.Cex.DwReg.reg = reg; - return VG_(addToXA)( dst, &e ); + return (Int)VG_(addToXA)( dst, &e ); } static void ppCfiOp ( CfiOp op ) diff --git a/coregrind/m_xarray.c b/coregrind/m_xarray.c index 8b3abf6b80..19130100ba 100644 --- a/coregrind/m_xarray.c +++ b/coregrind/m_xarray.c @@ -165,7 +165,7 @@ static inline void ensureSpaceXA ( struct _XArray* xa ) } } -Int VG_(addToXA) ( XArray* xao, void* elem ) +Word VG_(addToXA) ( XArray* xao, void* elem ) { struct _XArray* xa = (struct _XArray*)xao; vg_assert(xa); @@ -182,9 +182,9 @@ Int VG_(addToXA) ( XArray* xao, void* elem ) return xa->usedsizeE-1; } -Int VG_(addBytesToXA) ( XArray* xao, void* bytesV, Int nbytes ) +Word VG_(addBytesToXA) ( XArray* xao, void* bytesV, Word nbytes ) { - Int r, i; + Word r, i; struct _XArray* xa = (struct _XArray*)xao; vg_assert(xa); vg_assert(xa->elemSzB == 1); diff --git a/include/pub_tool_xarray.h b/include/pub_tool_xarray.h index b223fead07..7cb0ac6f8a 100644 --- a/include/pub_tool_xarray.h +++ b/include/pub_tool_xarray.h @@ -64,12 +64,12 @@ extern void VG_(setCmpFnXA) ( XArray*, Int (*compar)(void*,void*) ); /* Add an element to an XArray. Element is copied into the XArray. Index at which it was added is returned. Note this will be invalidated if the array is later sortXA'd. */ -extern Int VG_(addToXA) ( XArray*, void* elem ); +extern Word VG_(addToXA) ( XArray*, void* elem ); /* Add a sequence of bytes to an XArray of bytes. Asserts if nbytes is negative or the array's element size is not 1. Returns the index at which the first byte was added. */ -extern Int VG_(addBytesToXA) ( XArray* xao, void* bytesV, Int nbytes ); +extern Word VG_(addBytesToXA) ( XArray* xao, void* bytesV, Word nbytes ); /* Sort an XArray using its comparison function, if set; else bomb. Probably not a stable sort w.r.t. equal elements module cmpFn. */