From 1a42f3683fbd3735c3d217cc4cf31fdc1af1a93e Mon Sep 17 00:00:00 2001 From: akr Date: Mon, 15 Jul 2013 04:50:49 +0000 Subject: * bignum.c: Add static assertions. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41985 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 ++++ bignum.c | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/ChangeLog b/ChangeLog index 8d9545f5ef..7f0d3c6814 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Mon Jul 15 13:46:26 2013 Tanaka Akira + + * bignum.c: Add static assertions. + Mon Jul 15 13:36:02 2013 Masaki Matsushita * hash.c (rb_hash_each_pair): performance improvement by using diff --git a/bignum.c b/bignum.c index be52af6b9b..7c75bcf904 100644 --- a/bignum.c +++ b/bignum.c @@ -45,6 +45,12 @@ static VALUE big_three = Qnil; #endif STATIC_ASSERT(sizeof_bdigit_dbl, sizeof(BDIGIT_DBL) == SIZEOF_BDIGIT_DBL); +STATIC_ASSERT(sizeof_bdigit_dbl_signed, sizeof(BDIGIT_DBL_SIGNED) == SIZEOF_BDIGIT_DBL); +STATIC_ASSERT(sizeof_bdigit, SIZEOF_BDIGITS <= sizeof(BDIGIT)); +STATIC_ASSERT(sizeof_bdigit_and_dbl, SIZEOF_BDIGITS*2 <= SIZEOF_BDIGIT_DBL); +STATIC_ASSERT(bdigit_signedness, 0 < (BDIGIT)-1); +STATIC_ASSERT(bdigit_dbl_signedness, 0 < (BDIGIT_DBL)-1); +STATIC_ASSERT(bdigit_dbl_signed_signedness, 0 > (BDIGIT_DBL_SIGNED)-1); STATIC_ASSERT(rbignum_embed_len_max, RBIGNUM_EMBED_LEN_MAX <= (RBIGNUM_EMBED_LEN_MASK >> RBIGNUM_EMBED_LEN_SHIFT)); #ifdef WORDS_BIGENDIAN -- cgit v1.2.3