5e59baf90a
Now that we have separated union tag values from colliding with non-variant C names, by naming the union 'u', we should reserve this name for our use. Note that we want to forbid 'u' even in a struct with no variants, because it is possible for a future qemu release to extend QMP in a backwards-compatible manner while converting from a struct to a flat union. Fortunately, no existing clients were using this member name. If we ever find the need for QMP to have a member 'u', we could at that time relax things, perhaps by having c_name() munge the QMP member to 'q_u'. Note that we cannot forbid 'u' everywhere (by adding the rejection code to check_name()), because the existing QKeyCode enum already uses it; therefore we only reserve it as a struct type member name. Signed-off-by: Eric Blake <eblake@redhat.com> Message-Id: <1445898903-12082-24-git-send-email-eblake@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com>
8 lines
439 B
JSON
8 lines
439 B
JSON
# Potential C member name collision
|
|
# We reject use of 'u' as a member name, to allow it for internal use in
|
|
# putting union branch members in a separate namespace from QMP members.
|
|
# This is true even for non-unions, because it is possible to convert a
|
|
# struct to flat union while remaining backwards compatible in QMP.
|
|
# TODO - we could munge the member name to 'q_u' to avoid the collision
|
|
{ 'struct': 'Oops', 'data': { 'u': 'str' } }
|