asn1: Better handling of >63 named bits/ints

First, we enlarge Member's val field to int64_t.

Then we warn about skipping 2int, int2, and parse units glue for such
things with too-large members.

And we error out when generating the template for such things with
>UINT32_MAX members.

What about too-negative members?  That could be a thing for INTEGER /
ENUMERATED.  We'll look at that later.
This commit is contained in:
Nicolas Williams
2022-01-17 12:39:19 -06:00
parent bf243c1f41
commit 9fb444983e
6 changed files with 38 additions and 27 deletions

View File

@@ -91,7 +91,7 @@ struct member {
char *name;
char *gen_name;
char *label;
int val;
int64_t val;
int optional;
int ellipsis;
struct type *type;