mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-07-27 04:13:53 -06:00
qapi: Fix command with named empty argument type
The generator special-cased { 'command':'foo', 'data': {} } to avoid emitting a visitor variable, but failed to see that { 'struct':'NamedEmptyType, 'data': {} } { 'command':'foo', 'data':'NamedEmptyType' } needs the same treatment. There, the generator happily generates a visitor to get no arguments, and a visitor to destroy no arguments; and the compiler isn't happy with that, as demonstrated by the updated qapi-schema-test.json: tests/test-qmp-marshal.c: In function ‘qmp_marshal_user_def_cmd0’: tests/test-qmp-marshal.c:264:14: error: variable ‘v’ set but not used [-Werror=unused-but-set-variable] Visitor *v; ^ No change to generated code except for the testsuite addition. Signed-off-by: Eric Blake <eblake@redhat.com> Message-Id: <1458254921-17042-3-git-send-email-eblake@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com>
This commit is contained in:
parent
29f6bd15eb
commit
972a110162
4 changed files with 11 additions and 2 deletions
|
@ -66,7 +66,7 @@ def gen_marshal_vars(arg_type, ret_type):
|
|||
''',
|
||||
c_type=ret_type.c_type())
|
||||
|
||||
if arg_type:
|
||||
if arg_type and arg_type.members:
|
||||
ret += mcgen('''
|
||||
QmpInputVisitor *qiv = qmp_input_visitor_new_strict(QOBJECT(args));
|
||||
QapiDeallocVisitor *qdv;
|
||||
|
@ -98,7 +98,7 @@ def gen_marshal_vars(arg_type, ret_type):
|
|||
def gen_marshal_input_visit(arg_type, dealloc=False):
|
||||
ret = ''
|
||||
|
||||
if not arg_type:
|
||||
if not arg_type or not arg_type.members:
|
||||
return ret
|
||||
|
||||
if dealloc:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue