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 --- include/ruby/ruby.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'include/ruby/ruby.h') diff --git a/include/ruby/ruby.h b/include/ruby/ruby.h index 74f7b570c0..983ea2760c 100644 --- a/include/ruby/ruby.h +++ b/include/ruby/ruby.h @@ -1502,6 +1502,7 @@ rb_obj_write(VALUE a, VALUE *slot, VALUE b, RB_UNUSED_VAR(const char *filename), return a; } +#define RUBY_INTEGER_UNIFICATION 1 #define RB_INTEGER_TYPE_P(obj) rb_integer_type_p(obj) static inline int rb_integer_type_p(VALUE obj) @@ -1865,7 +1866,9 @@ RUBY_EXTERN VALUE rb_mWaitWritable; RUBY_EXTERN VALUE rb_cBasicObject; RUBY_EXTERN VALUE rb_cObject; RUBY_EXTERN VALUE rb_cArray; +#ifndef RUBY_INTEGER_UNIFICATION RUBY_EXTERN VALUE rb_cBignum; +#endif RUBY_EXTERN VALUE rb_cBinding; RUBY_EXTERN VALUE rb_cClass; RUBY_EXTERN VALUE rb_cCont; @@ -1875,7 +1878,9 @@ RUBY_EXTERN VALUE rb_cFalseClass; RUBY_EXTERN VALUE rb_cEncoding; RUBY_EXTERN VALUE rb_cEnumerator; RUBY_EXTERN VALUE rb_cFile; +#ifndef RUBY_INTEGER_UNIFICATION RUBY_EXTERN VALUE rb_cFixnum; +#endif RUBY_EXTERN VALUE rb_cFloat; RUBY_EXTERN VALUE rb_cHash; RUBY_EXTERN VALUE rb_cInteger; -- cgit v1.2.3