This is the sixth and final part, covering QAPI and its users. PATCH 01-08 are preparatory cleanups.
PATCH 09-11 fix a misuse of the visitor API in hand-written code. Generated code uses the API correctly. PATCH 12 converts QAPI and its users to the common use of the error API, purging error_is_set() along the way. PATCH 13 drops error_is_set(). This depends on all five prior parts of the purge, of which only the first two have been committed already. If you get undefined references to error_is_set() with this series applied, either prior parts of the purge haven't been applied, or new uses have crept in. Drop just the last patch then. My series conflicts with LluĂs's "qapi: Allow modularization of QAPI schema files" and Amos's "qapi: fix coding style in generated code", but the conflicts are trivial, and 3-way merge can take care of them. Luiz, would you be willing to take this through your tree as well? Markus Armbruster (13): qapi: Update qapi-code-gen.txt example to match current code qapi: Normalize marshalling's visitor initialization and cleanup qapi: Remove unused Visitor callbacks start_handle(), end_handle() qapi: Replace start_optional()/end_optional() by optional() qapi-visit.py: Clean up confusing push_indent() / pop_indent() use qapi: Clean up shadowing of parameters and locals in inner scopes qapi-visit.py: Clean up a sloppy use of field prefix qapi: Un-inline visit of implicit struct hmp: Call visit_end_struct() after visit_start_struct() succeeds hw: Don't call visit_end_struct() after visit_start_struct() fails tests: Don't call visit_end_struct() after visit_start_struct() fails qapi: Replace uncommon use of the error API by the common one error: error_is_set() is finally unused; remove docs/qapi-code-gen.txt | 165 ++++++++++++++--------- hmp.c | 16 +-- hw/timer/mc146818rtc.c | 41 +++++- hw/virtio/virtio-balloon.c | 33 +++-- include/qapi/error.h | 6 - include/qapi/visitor-impl.h | 8 +- include/qapi/visitor.h | 5 +- qapi/opts-visitor.c | 5 +- qapi/qapi-visit-core.c | 259 +++++++++++++++---------------------- qapi/qmp-input-visitor.c | 6 +- qapi/string-input-visitor.c | 6 +- scripts/qapi-commands.py | 87 ++++++++----- scripts/qapi-visit.py | 230 ++++++++++++++++++-------------- tests/test-qmp-input-strict.c | 28 +++- tests/test-qmp-input-visitor.c | 26 ++-- tests/test-qmp-output-visitor.c | 28 +++- tests/test-visitor-serialization.c | 26 +++- util/error.c | 5 - 18 files changed, 554 insertions(+), 426 deletions(-) -- 1.8.1.4