diff options
author | Peter Maydell | 2018-06-22 18:08:57 +0200 |
---|---|---|
committer | Peter Maydell | 2018-06-22 18:08:58 +0200 |
commit | 7ed14cbf3cf083f125c079bd02b3215941853830 (patch) | |
tree | a845e5314ea1b5af5aa4a4b9c9af7d9c2aa9605c /scripts/qapi/visit.py | |
parent | Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20180622'... (diff) | |
parent | MAINTAINERS: Update QAPI stanza for commit fb0bc835e56 (diff) | |
download | qemu-7ed14cbf3cf083f125c079bd02b3215941853830.tar.gz qemu-7ed14cbf3cf083f125c079bd02b3215941853830.tar.xz qemu-7ed14cbf3cf083f125c079bd02b3215941853830.zip |
Merge remote-tracking branch 'remotes/armbru/tags/pull-qapi-2018-06-22' into staging
QAPI patches for 2018-06-22
# gpg: Signature made Fri 22 Jun 2018 15:36:22 BST
# gpg: using RSA key 3870B400EB918653
# gpg: Good signature from "Markus Armbruster <armbru@redhat.com>"
# gpg: aka "Markus Armbruster <armbru@pond.sub.org>"
# Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867 4E5F 3870 B400 EB91 8653
* remotes/armbru/tags/pull-qapi-2018-06-22:
MAINTAINERS: Update QAPI stanza for commit fb0bc835e56
qapi/introspect: Eliminate pointless variable in .visit_end()
Revert commit d4e5ec877ca
qapi: Open files with encoding='utf-8'
qapi: remove empty flat union branches and types
qapi: allow empty branches in flat unions
tests: Add QDict clone-flatten test
qdict: Make qdict_flatten() shallow-clone-friendly
qapi/events: generate event enum in main module
qapi/visit: remove useless prefix argument
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'scripts/qapi/visit.py')
-rw-r--r-- | scripts/qapi/visit.py | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/scripts/qapi/visit.py b/scripts/qapi/visit.py index 5d72d8936c..bdcafb64ee 100644 --- a/scripts/qapi/visit.py +++ b/scripts/qapi/visit.py @@ -81,15 +81,24 @@ void visit_type_%(c_name)s_members(Visitor *v, %(c_name)s *obj, Error **errp) c_name=c_name(variants.tag_member.name)) for var in variants.variants: - ret += mcgen(''' + case_str = c_enum_const(variants.tag_member.type.name, + var.name, + variants.tag_member.type.prefix) + if var.type.name == 'q_empty': + # valid variant and nothing to do + ret += mcgen(''' + case %(case)s: + break; +''', + case=case_str) + else: + ret += mcgen(''' case %(case)s: visit_type_%(c_type)s_members(v, &obj->u.%(c_name)s, &err); break; ''', - case=c_enum_const(variants.tag_member.type.name, - var.name, - variants.tag_member.type.prefix), - c_type=var.type.c_name(), c_name=c_name(var.name)) + case=case_str, + c_type=var.type.c_name(), c_name=c_name(var.name)) ret += mcgen(''' default: @@ -293,7 +302,7 @@ class QAPISchemaGenVisitVisitor(QAPISchemaModularCVisitor): #include "qapi/qmp/qerror.h" #include "%(visit)s.h" ''', - visit=visit, prefix=self._prefix)) + visit=visit)) self._genh.preamble_add(mcgen(''' #include "qapi/qapi-builtin-visit.h" #include "%(types)s.h" |