Skip to content
Snippets Groups Projects
Commit 5c670acb authored by Damien George's avatar Damien George
Browse files

py: Be more machine-portable with size of bit fields.

parent 4c1a7e0d
No related branches found
No related tags found
No related merge requests found
...@@ -69,7 +69,7 @@ typedef int32_t mpz_dbl_dig_signed_t; ...@@ -69,7 +69,7 @@ typedef int32_t mpz_dbl_dig_signed_t;
typedef struct _mpz_t { typedef struct _mpz_t {
mp_uint_t neg : 1; mp_uint_t neg : 1;
mp_uint_t fixed_dig : 1; mp_uint_t fixed_dig : 1;
mp_uint_t alloc : 30; mp_uint_t alloc : BITS_PER_WORD - 2;
mp_uint_t len; mp_uint_t len;
mpz_dig_t *dig; mpz_dig_t *dig;
} mpz_t; } mpz_t;
......
...@@ -108,9 +108,9 @@ STATIC const rule_t *rules[] = { ...@@ -108,9 +108,9 @@ STATIC const rule_t *rules[] = {
}; };
typedef struct _rule_stack_t { typedef struct _rule_stack_t {
mp_uint_t src_line : 24; mp_uint_t src_line : BITS_PER_WORD - 8; // maximum bits storing source line number
mp_uint_t rule_id : 8; mp_uint_t rule_id : 8; // this must be large enough to fit largest rule number
mp_uint_t arg_i : 32; // what should the bit-size be? mp_uint_t arg_i; // this dictates the maximum nodes in a "list" of things
} rule_stack_t; } rule_stack_t;
typedef struct _parser_t { typedef struct _parser_t {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment