Use whichever of "long" or "long long" is the same size as "void*"
to hold pointers as integers, rather than whichever matches off_t.
Fixes compilation on OS X and GCC warnings on platforms where
sizeof(void*) < sizeof(off_t) (SF patch #1731979).


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9852 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Olly Betts 2007-06-06 21:25:32 +00:00
commit 1329624117
2 changed files with 14 additions and 10 deletions

View file

@ -1,6 +1,13 @@
Version 1.3.32 (in progress) Version 1.3.32 (in progress)
============================ ============================
06/06/2007: olly
[Ruby]
Use whichever of "long" or "long long" is the same size as "void*"
to hold pointers as integers, rather than whichever matches off_t.
Fixes compilation on OS X and GCC warnings on platforms where
sizeof(void*) < sizeof(off_t) (SF patch #1731979).
06/06/2007: olly 06/06/2007: olly
[PHP5] [PHP5]
Fix handling of a particular case involving overloaded functions Fix handling of a particular case involving overloaded functions

View file

@ -14,18 +14,15 @@
extern "C" { extern "C" {
#endif #endif
#if SIZEOF_OFF_T > SIZEOF_LONG && defined(HAVE_LONG_LONG) /* Ruby 1.8 actually assumes the first case. */
# define SWIG2NUM(v) LL2NUM((unsigned long long)v) #if SIZEOF_VOIDP == SIZEOF_LONG
#elif SIZEOF_OFF_T == SIZEOF_LONG
# define SWIG2NUM(v) LONG2NUM((unsigned long)v) # define SWIG2NUM(v) LONG2NUM((unsigned long)v)
#else
# define SWIG2NUM(v) INT2NUM((unsigned long)v)
#endif
#if defined(HAVE_LONG_LONG) && SIZEOF_OFF_T > SIZEOF_LONG
# define NUM2SWIG(x) ((off_t)NUM2LL(x))
#else
# define NUM2SWIG(x) (unsigned long)NUM2LONG(x) # define NUM2SWIG(x) (unsigned long)NUM2LONG(x)
#elif SIZEOF_VOIDP == SIZEOF_LONG_LONG
# define SWIG2NUM(v) LL2NUM((unsigned long long)v)
# define NUM2SWIG(x) (unsigned long long)NUM2LL(x)
#else
# error sizeof(void*) isn't the same as long or long long
#endif #endif