summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortmm1 <tmm1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-12-08 23:07:43 +0000
committertmm1 <tmm1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-12-08 23:07:43 +0000
commit599dbf65a57ad7ce37a3dd23d3513ef2699eb9b2 (patch)
tree4f27672dfb36cf0d0a6356f5fdbaeb9d66dfa49d
parent68e2146738689540886702129ad30f3f8af59a37 (diff)
vm.c: fix compile issue on 32bit freebsd
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44084 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--internal.h3
-rw-r--r--vm.c4
2 files changed, 5 insertions, 2 deletions
diff --git a/internal.h b/internal.h
index 2b8176c..f21c1c4 100644
--- a/internal.h
+++ b/internal.h
@@ -252,10 +252,13 @@ struct rb_subclass_entry {
#if defined(HAVE_LONG_LONG)
typedef unsigned LONG_LONG rb_serial_t;
+#define SERIALT2NUM ULL2NUM
#elif defined(HAVE_UINT64_T)
typedef uint64_t rb_serial_t;
+#define SERIALT2NUM SIZET2NUM
#else
typedef unsigned long rb_serial_t;
+#define SERIALT2NUM ULONG2NUM
#endif
struct rb_classext_struct {
diff --git a/vm.c b/vm.c
index 855cd16..6af1bf1 100644
--- a/vm.c
+++ b/vm.c
@@ -163,9 +163,9 @@ ruby_vm_stat(int argc, VALUE *argv, VALUE self)
#define SET(name, attr) \
if (key == sym_##name) \
- return SIZET2NUM(attr); \
+ return SERIALT2NUM(attr); \
else if (hash != Qnil) \
- rb_hash_aset(hash, sym_##name, SIZET2NUM(attr));
+ rb_hash_aset(hash, sym_##name, SERIALT2NUM(attr));
SET(method_serial, ruby_vm_method_serial);
SET(constant_serial, ruby_vm_constant_serial);