The following changes since commit a8c40fa2d667e585382080db36ac44e216b37a1c:
Update version for v2.5.0 release (2015-12-16 16:10:14 +0000) are available in the git repository at: git://repo.or.cz/qemu/armbru.git tags/pull-qapi-2015-12-17 for you to fetch changes up to bac5429ccb4f41d421ec641b11f1852c8420fdb7: qapi: Detect base class loops (2015-12-17 08:21:29 +0100) ---------------------------------------------------------------- QAPI patches for 2015-12-17 ---------------------------------------------------------------- Eric Blake (33): qapi: Track simple union tag in object.local_members qapi-types: Consolidate gen_struct() and gen_union() qapi-types: Simplify gen_struct_field[s] qapi: Check for QAPI collisions involving variant members qapi: Factor out QAPISchemaObjectType.check_clash() qapi: Hoist tag collision check to Variants.check() qapi: Remove outdated tests related to QMP/branch collisions qapi: Track owner of each object member qapi: Detect collisions in C member names qapi: Fix c_name() munging qapi: Remove dead visitor code blkdebug: Merge hand-rolled and qapi BlkdebugEvent enum blkdebug: Avoid '.' in enum values qapi: Tighten the regex on valid names qapi: Don't let implicit enum MAX member collide qapi: Remove obsolete tests for MAX collision cpu: Convert CpuInfo into flat union qapi: Add alias for ErrorClass qapi: Change munging of CamelCase enum values qobject: Simplify QObject qobject: Rename qtype_code to QType qapi: Convert QType into QAPI built-in enum type qapi: Simplify visiting of alternate types qapi-types: Drop unnedeed ._fwdefn qapi: Inline _make_implicit_tag() qapi: Fix alternates that accept 'number' but not 'int' qapi: Simplify visits of optional fields qapi: Shorter visits of optional fields qapi: Prepare new QAPISchemaMember base class qapi: Track enum values by QAPISchemaMember, not string qapi: Enforce (or whitelist) case conventions on qapi members qapi: Move duplicate collision checks to schema check() qapi: Detect base class loops Markus Armbruster (7): qapi: Drop obsolete tag value collision assertions qapi: Simplify QAPISchemaObjectTypeMember.check() qapi: Clean up after previous commit qapi: Fix up commit 7618b91's clash sanity checking change qapi: Eliminate QAPISchemaObjectType.check() variable members qapi: Factor out QAPISchemaObjectTypeMember.check_clash() qapi: Simplify QAPISchemaObjectTypeVariants.check() block.c | 2 +- block/blkdebug.c | 79 +----- block/parallels.c | 4 +- block/qapi.c | 4 +- block/qcow2.c | 2 +- block/quorum.c | 2 +- block/raw-posix.c | 2 +- blockdev.c | 2 +- cpus.c | 31 ++- docs/blkdebug.txt | 7 +- docs/qapi-code-gen.txt | 30 +-- hmp.c | 44 +-- hw/char/escc.c | 2 +- hw/i386/pc_piix.c | 2 +- hw/i386/pc_q35.c | 2 +- hw/input/hid.c | 6 +- hw/input/ps2.c | 6 +- hw/input/virtio-input-hid.c | 12 +- include/block/block.h | 62 +---- include/block/block_int.h | 2 +- include/hw/qdev-core.h | 2 +- include/migration/migration.h | 4 +- include/qapi/error.h | 14 + include/qapi/qmp/qbool.h | 1 + include/qapi/qmp/qdict.h | 1 + include/qapi/qmp/qfloat.h | 1 + include/qapi/qmp/qint.h | 1 + include/qapi/qmp/qlist.h | 1 + include/qapi/qmp/qobject.h | 50 ++-- include/qapi/qmp/qstring.h | 1 + include/qapi/visitor-impl.h | 8 +- include/qapi/visitor.h | 22 +- include/qemu/typedefs.h | 1 + migration/migration.c | 4 +- monitor.c | 18 +- net/net.c | 4 +- qapi-schema.json | 120 +++++++-- qapi/block-core.json | 20 +- qapi/common.json | 5 +- qapi/opts-visitor.c | 2 +- qapi/qapi-visit-core.c | 10 +- qapi/qmp-dispatch.c | 2 +- qapi/qmp-input-visitor.c | 10 +- qapi/string-input-visitor.c | 3 +- qemu-nbd.c | 2 +- qmp-commands.hx | 4 + qobject/Makefile.objs | 2 +- qobject/qbool.c | 11 +- qobject/qdict.c | 14 +- qobject/qfloat.c | 11 +- qobject/qint.c | 11 +- qobject/qlist.c | 11 +- qobject/qnull.c | 12 +- qobject/qobject.c | 34 +++ qobject/qstring.c | 11 +- replay/replay-input.c | 8 +- scripts/qapi-types.py | 120 +++------ scripts/qapi-visit.py | 36 ++- scripts/qapi.py | 295 ++++++++++++--------- tests/Makefile | 14 +- tests/qapi-schema/alternate-clash.err | 2 +- tests/qapi-schema/alternate-empty.out | 3 +- tests/qapi-schema/args-member-case.err | 1 + .../{union-max.exit => args-member-case.exit} | 0 tests/qapi-schema/args-member-case.json | 2 + .../{union-max.out => args-member-case.out} | 0 tests/qapi-schema/args-name-clash.err | 1 + tests/qapi-schema/args-name-clash.exit | 2 +- tests/qapi-schema/args-name-clash.json | 5 +- tests/qapi-schema/args-name-clash.out | 6 - tests/qapi-schema/base-cycle-direct.err | 1 + ...nion-clash-type.exit => base-cycle-direct.exit} | 0 tests/qapi-schema/base-cycle-direct.json | 2 + ...{union-clash-type.out => base-cycle-direct.out} | 0 tests/qapi-schema/base-cycle-indirect.err | 1 + ...on-bad-branch.exit => base-cycle-indirect.exit} | 0 tests/qapi-schema/base-cycle-indirect.json | 3 + ...nion-bad-branch.out => base-cycle-indirect.out} | 0 tests/qapi-schema/comments.out | 2 + tests/qapi-schema/empty.out | 2 + tests/qapi-schema/enum-clash-member.err | 2 +- tests/qapi-schema/enum-clash-member.json | 2 +- tests/qapi-schema/enum-max-member.err | 1 - tests/qapi-schema/enum-max-member.json | 3 - tests/qapi-schema/enum-member-case.err | 1 + ...union-clash-type.exit => enum-member-case.exit} | 0 tests/qapi-schema/enum-member-case.json | 3 + ...t-union-clash-type.out => enum-member-case.out} | 0 tests/qapi-schema/event-case.out | 2 + tests/qapi-schema/event-max.err | 1 - tests/qapi-schema/event-max.json | 2 - tests/qapi-schema/flat-union-clash-branch.exit | 1 - tests/qapi-schema/flat-union-clash-branch.json | 18 -- tests/qapi-schema/flat-union-clash-branch.out | 14 - tests/qapi-schema/flat-union-clash-member.err | 2 +- tests/qapi-schema/flat-union-clash-type.err | 1 - tests/qapi-schema/flat-union-clash-type.json | 14 - tests/qapi-schema/flat-union-empty.out | 2 + tests/qapi-schema/ident-with-escape.out | 2 + tests/qapi-schema/include-relpath.out | 2 + tests/qapi-schema/include-repetition.out | 2 + tests/qapi-schema/include-simple.out | 2 + tests/qapi-schema/indented-expr.out | 2 + tests/qapi-schema/qapi-schema-test.json | 5 +- tests/qapi-schema/qapi-schema-test.out | 13 +- tests/qapi-schema/reserved-enum-q.err | 1 + .../{event-max.exit => reserved-enum-q.exit} | 0 tests/qapi-schema/reserved-enum-q.json | 4 + ...-union-clash-branch.err => reserved-enum-q.out} | 0 tests/qapi-schema/reserved-member-underscore.err | 1 + ...member.exit => reserved-member-underscore.exit} | 0 tests/qapi-schema/reserved-member-underscore.json | 4 + ...vent-max.out => reserved-member-underscore.out} | 0 tests/qapi-schema/struct-base-clash-deep.err | 2 +- tests/qapi-schema/struct-base-clash.err | 2 +- tests/qapi-schema/union-bad-branch.err | 1 - tests/qapi-schema/union-bad-branch.json | 8 - tests/qapi-schema/union-branch-case.err | 1 + tests/qapi-schema/union-branch-case.exit | 1 + tests/qapi-schema/union-branch-case.json | 2 + .../{enum-max-member.out => union-branch-case.out} | 0 tests/qapi-schema/union-clash-branches.err | 2 +- tests/qapi-schema/union-clash-branches.json | 2 +- tests/qapi-schema/union-clash-data.out | 3 + tests/qapi-schema/union-clash-type.err | 1 - tests/qapi-schema/union-clash-type.json | 9 - tests/qapi-schema/union-empty.out | 3 + tests/qapi-schema/union-max.err | 1 - tests/qapi-schema/union-max.json | 3 - tests/qemu-iotests/026 | 18 +- tests/qemu-iotests/026.out | 80 +++--- tests/qemu-iotests/026.out.nocache | 80 +++--- tests/qemu-iotests/077 | 24 +- tests/test-qmp-commands.c | 4 + tests/test-qmp-input-visitor.c | 29 +- tests/test-qmp-output-visitor.c | 10 +- tests/test-string-output-visitor.c | 4 +- tpm.c | 10 +- ui/cocoa.m | 6 +- ui/console.c | 2 +- ui/gtk.c | 4 +- ui/input-keymap.c | 4 +- ui/input-legacy.c | 10 +- ui/input.c | 6 +- ui/sdl.c | 6 +- ui/sdl2.c | 6 +- ui/spice-input.c | 6 +- ui/vnc.c | 6 +- vl.c | 18 +- 149 files changed, 843 insertions(+), 875 deletions(-) create mode 100644 qobject/qobject.c create mode 100644 tests/qapi-schema/args-member-case.err rename tests/qapi-schema/{union-max.exit => args-member-case.exit} (100%) create mode 100644 tests/qapi-schema/args-member-case.json rename tests/qapi-schema/{union-max.out => args-member-case.out} (100%) create mode 100644 tests/qapi-schema/base-cycle-direct.err rename tests/qapi-schema/{union-clash-type.exit => base-cycle-direct.exit} (100%) create mode 100644 tests/qapi-schema/base-cycle-direct.json rename tests/qapi-schema/{union-clash-type.out => base-cycle-direct.out} (100%) create mode 100644 tests/qapi-schema/base-cycle-indirect.err rename tests/qapi-schema/{union-bad-branch.exit => base-cycle-indirect.exit} (100%) create mode 100644 tests/qapi-schema/base-cycle-indirect.json rename tests/qapi-schema/{union-bad-branch.out => base-cycle-indirect.out} (100%) delete mode 100644 tests/qapi-schema/enum-max-member.err delete mode 100644 tests/qapi-schema/enum-max-member.json create mode 100644 tests/qapi-schema/enum-member-case.err rename tests/qapi-schema/{flat-union-clash-type.exit => enum-member-case.exit} (100%) create mode 100644 tests/qapi-schema/enum-member-case.json rename tests/qapi-schema/{flat-union-clash-type.out => enum-member-case.out} (100%) delete mode 100644 tests/qapi-schema/event-max.err delete mode 100644 tests/qapi-schema/event-max.json delete mode 100644 tests/qapi-schema/flat-union-clash-branch.exit delete mode 100644 tests/qapi-schema/flat-union-clash-branch.json delete mode 100644 tests/qapi-schema/flat-union-clash-branch.out delete mode 100644 tests/qapi-schema/flat-union-clash-type.err delete mode 100644 tests/qapi-schema/flat-union-clash-type.json create mode 100644 tests/qapi-schema/reserved-enum-q.err rename tests/qapi-schema/{event-max.exit => reserved-enum-q.exit} (100%) create mode 100644 tests/qapi-schema/reserved-enum-q.json rename tests/qapi-schema/{flat-union-clash-branch.err => reserved-enum-q.out} (100%) create mode 100644 tests/qapi-schema/reserved-member-underscore.err rename tests/qapi-schema/{enum-max-member.exit => reserved-member-underscore.exit} (100%) create mode 100644 tests/qapi-schema/reserved-member-underscore.json rename tests/qapi-schema/{event-max.out => reserved-member-underscore.out} (100%) delete mode 100644 tests/qapi-schema/union-bad-branch.err delete mode 100644 tests/qapi-schema/union-bad-branch.json create mode 100644 tests/qapi-schema/union-branch-case.err create mode 100644 tests/qapi-schema/union-branch-case.exit create mode 100644 tests/qapi-schema/union-branch-case.json rename tests/qapi-schema/{enum-max-member.out => union-branch-case.out} (100%) delete mode 100644 tests/qapi-schema/union-clash-type.err delete mode 100644 tests/qapi-schema/union-clash-type.json delete mode 100644 tests/qapi-schema/union-max.err delete mode 100644 tests/qapi-schema/union-max.json -- 2.4.3