diff options
author | Damien George <damien.p.george@gmail.com> | 2015-01-24 23:12:58 +0000 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2015-01-24 23:12:58 +0000 |
commit | 5c670acb1fdd04dcb9c220fee7cbeeb6b0c440e5 (patch) | |
tree | 4265962a5e3bb021bdc8cc7d511efce887cf50f9 | |
parent | 4c1a7e0d6a561be5871bb0d36b724f529e55c21d (diff) | |
download | micropython-5c670acb1fdd04dcb9c220fee7cbeeb6b0c440e5.tar.gz micropython-5c670acb1fdd04dcb9c220fee7cbeeb6b0c440e5.zip |
py: Be more machine-portable with size of bit fields.
-rw-r--r-- | py/mpz.h | 2 | ||||
-rw-r--r-- | py/parse.c | 6 |
2 files changed, 4 insertions, 4 deletions
@@ -69,7 +69,7 @@ typedef int32_t mpz_dbl_dig_signed_t; typedef struct _mpz_t { mp_uint_t neg : 1; mp_uint_t fixed_dig : 1; - mp_uint_t alloc : 30; + mp_uint_t alloc : BITS_PER_WORD - 2; mp_uint_t len; mpz_dig_t *dig; } mpz_t; diff --git a/py/parse.c b/py/parse.c index dc2780c7ee..881a11e734 100644 --- a/py/parse.c +++ b/py/parse.c @@ -108,9 +108,9 @@ STATIC const rule_t *rules[] = { }; typedef struct _rule_stack_t { - mp_uint_t src_line : 24; - mp_uint_t rule_id : 8; - mp_uint_t arg_i : 32; // what should the bit-size be? + mp_uint_t src_line : BITS_PER_WORD - 8; // maximum bits storing source line number + mp_uint_t rule_id : 8; // this must be large enough to fit largest rule number + mp_uint_t arg_i; // this dictates the maximum nodes in a "list" of things } rule_stack_t; typedef struct _parser_t { |