From: <ol...@us...> - 2007-06-06 21:25:35
|
Revision: 9852 http://swig.svn.sourceforge.net/swig/?rev=9852&view=rev Author: olly Date: 2007-06-06 14:25:32 -0700 (Wed, 06 Jun 2007) Log Message: ----------- [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). Modified Paths: -------------- trunk/CHANGES.current trunk/Lib/ruby/rubytracking.swg Modified: trunk/CHANGES.current =================================================================== --- trunk/CHANGES.current 2007-06-06 00:59:56 UTC (rev 9851) +++ trunk/CHANGES.current 2007-06-06 21:25:32 UTC (rev 9852) @@ -2,6 +2,13 @@ ============================ 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 [PHP5] Fix handling of a particular case involving overloaded functions with default parameters. Modified: trunk/Lib/ruby/rubytracking.swg =================================================================== --- trunk/Lib/ruby/rubytracking.swg 2007-06-06 00:59:56 UTC (rev 9851) +++ trunk/Lib/ruby/rubytracking.swg 2007-06-06 21:25:32 UTC (rev 9852) @@ -14,21 +14,18 @@ extern "C" { #endif -#if SIZEOF_OFF_T > SIZEOF_LONG && defined(HAVE_LONG_LONG) -# define SWIG2NUM(v) LL2NUM((unsigned long long)v) -#elif SIZEOF_OFF_T == SIZEOF_LONG +/* Ruby 1.8 actually assumes the first case. */ +#if SIZEOF_VOIDP == SIZEOF_LONG # define SWIG2NUM(v) LONG2NUM((unsigned long)v) +# 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 -# define SWIG2NUM(v) INT2NUM((unsigned long)v) +# error sizeof(void*) isn't the same as long or long long #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) -#endif - /* Global Ruby hash table to store Trackings from C/C++ structs to Ruby Objects. */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |