Home
last modified time | relevance | path

Searched hist:"0 f61af3eb396ae163cd1572ce12e05f5d08d7c15" (Results 1 – 2 of 2) sorted by relevance

/qemu/scripts/qapi/
H A Dtypes.py0f61af3eb396ae163cd1572ce12e05f5d08d7c15 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 Dvisit.py0f61af3eb396ae163cd1572ce12e05f5d08d7c15 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>