From c071c052292168592de091cdb4c22dc3fbfd1af1 Mon Sep 17 00:00:00 2001 From: nobu Date: Mon, 13 Jun 2016 11:34:56 +0000 Subject: Integer unification macro * include/ruby/ruby.h (RUBY_INTEGER_UNIFICATION): macro to tell if Integer is integrated. [ruby-core:75718][Bug #12427] * include/ruby/backward.h, internal.h (rb_cFixnum, rb_cBignum): fallback to rb_cInteger. * bignum.c, numeric.c, ext/json/generator/generator.{c,h}: use the macro. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55394 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- numeric.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'numeric.c') diff --git a/numeric.c b/numeric.c index 6c8afe2ec0..aa16303495 100644 --- a/numeric.c +++ b/numeric.c @@ -111,7 +111,9 @@ static ID id_coerce, id_div, id_divmod; VALUE rb_cNumeric; VALUE rb_cFloat; VALUE rb_cInteger; +#ifndef RUBY_INTEGER_UNIFICATION VALUE rb_cFixnum; +#endif VALUE rb_eZeroDivError; VALUE rb_eFloatDomainError; @@ -4957,7 +4959,9 @@ Init_Numeric(void) rb_define_method(rb_cInteger, "size", int_size, 0); rb_define_method(rb_cInteger, "bit_length", rb_int_bit_length, 0); +#ifndef RUBY_INTEGER_UNIFICATION rb_cFixnum = rb_cInteger; +#endif rb_define_const(rb_cObject, "Fixnum", rb_cInteger); rb_cFloat = rb_define_class("Float", rb_cNumeric); -- cgit v1.2.3