mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-07-27 04:13:53 -06:00
qapi: Drop useless 'data' member of unions
We started moving away from the use of the 'void *data' member
in the C union corresponding to a QAPI union back in commit
544a373
; recent commits have gotten rid of other uses. Now
that it is completely unused, we can remove the member itself
as well as the FIXME comment. Update the testsuite to drop the
negative test union-clash-data.
Signed-off-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Daniel P. Berrange <berrange@redhat.com>
Message-Id: <1457021813-10704-11-git-send-email-eblake@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
This commit is contained in:
parent
b1918fbb1c
commit
48eb62a74f
6 changed files with 0 additions and 27 deletions
|
@ -116,17 +116,8 @@ static inline %(base)s *qapi_%(c_name)s_base(const %(c_name)s *obj)
|
|||
|
||||
|
||||
def gen_variants(variants):
|
||||
# FIXME: What purpose does data serve, besides preventing a union that
|
||||
# has a branch named 'data'? We use it in qapi-visit.py to decide
|
||||
# whether to bypass the switch statement if visiting the discriminator
|
||||
# failed; but since we 0-initialize structs, and cannot tell what
|
||||
# branch of the union is in use if the discriminator is invalid, there
|
||||
# should not be any data leaks even without a data pointer. Or, if
|
||||
# 'data' is merely added to guarantee we don't have an empty union,
|
||||
# shouldn't we enforce that at .json parse time?
|
||||
ret = mcgen('''
|
||||
union { /* union tag is @%(c_name)s */
|
||||
void *data;
|
||||
''',
|
||||
c_name=c_name(variants.tag_member.name))
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue