Searched hist:"0 f61af3eb396ae163cd1572ce12e05f5d08d7c15" (Results 1 – 2 of 2) sorted by relevance
/qemu/scripts/qapi/ |
H A D | types.py | 0f61af3eb396ae163cd1572ce12e05f5d08d7c15 Fri Jul 31 08:30:04 UTC 2015 Markus Armbruster <armbru@redhat.com> qapi: Fix generated code when flat union has member 'kind'
A flat union's tag member gets renamed to 'kind' in the generated code. Breaks when another member named 'kind' exists.
Example, adapted from qapi-schema-test.json:
{ 'struct': 'UserDefUnionBase', 'data': { 'kind': 'str', 'enum1': 'EnumOne' } }
We generate:
struct UserDefFlatUnion { EnumOne kind; union { void *data; UserDefA *value1; UserDefB *value2; UserDefB *value3; }; char *kind; };
Kill the silly rename.
Reported-by: Eric Blake <eblake@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com>
|
H A D | visit.py | 0f61af3eb396ae163cd1572ce12e05f5d08d7c15 Fri Jul 31 08:30:04 UTC 2015 Markus Armbruster <armbru@redhat.com> qapi: Fix generated code when flat union has member 'kind'
A flat union's tag member gets renamed to 'kind' in the generated code. Breaks when another member named 'kind' exists.
Example, adapted from qapi-schema-test.json:
{ 'struct': 'UserDefUnionBase', 'data': { 'kind': 'str', 'enum1': 'EnumOne' } }
We generate:
struct UserDefFlatUnion { EnumOne kind; union { void *data; UserDefA *value1; UserDefB *value2; UserDefB *value3; }; char *kind; };
Kill the silly rename.
Reported-by: Eric Blake <eblake@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com>
|