5fbc78dd36
Flat union branch names match the tag enum's member names. Omitted branches default to "no members for this tag value". Branch names starting with a digit get rejected like "'data' member '0' has an invalid name". However, omitting the branch works. This is because flat union tag values get checked twice: as enum member name, and as union branch name. The former accepts leading digits, the latter doesn't. Branches whose names start with a digit therefore cannot have members. Feels wrong. Get rid of the restriction by skipping the latter check. This can expose c_name() to input it can't handle: a name starting with a digit. Improve it to return a valid C identifier for any input. Signed-off-by: Markus Armbruster <armbru@redhat.com> Message-Id: <20210323094025.3569441-9-armbru@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> [Commit message rewritten] |
||
---|---|---|
.. | ||
.flake8 | ||
.isort.cfg | ||
__init__.py | ||
commands.py | ||
common.py | ||
error.py | ||
events.py | ||
expr.py | ||
gen.py | ||
introspect.py | ||
main.py | ||
mypy.ini | ||
parser.py | ||
pylintrc | ||
schema.py | ||
source.py | ||
types.py | ||
visit.py |