Still RFC because it depends on Markus' RFC v3:
https://lists.gnu.org/archive/html/qemu-devel/2015-08/msg00426.html

v1 was here:
https://lists.gnu.org/archive/html/qemu-devel/2015-07/msg05266.html
https://lists.gnu.org/archive/html/qemu-devel/2015-07/msg05325.html

In v2:
rebase to Markus' v3 series
rework how comments are emitted for fields inherited from base
additional patches added for deleting colliding 'void *data'
documentation updates to match code changes

Eric Blake (12):
  qapi: use 'type' in generated C code to match QMP union wire form
  vnc: hoist allocation of VncBasicInfo to callers
  qapi: Unbox base members
  qapi-visit: Remove redundant functions for flat union base
  qapi: Test use of 'number' within alternates
  qapi: Simplify visiting of alternate types
  qapi: Fix alternates that accept 'number' but not 'int'
  qapi: Add tests for empty unions
  qapi: Rework deallocation of partial struct
  qapi: Avoid use of 'data' member of qapi unions
  qapi: Forbid empty unions and useless alternates
  qapi: Drop useless 'data' member of unions

 block/qcow2.c                            |   2 +-
 block/vmdk.c                             |   2 +-
 blockdev.c                               |  34 ++++----
 docs/qapi-code-gen.txt                   |  16 ++--
 hmp.c                                    |  18 ++--
 hw/input/hid.c                           |   2 +-
 hw/input/ps2.c                           |   2 +-
 hw/input/virtio-input-hid.c              |   2 +-
 hw/mem/pc-dimm.c                         |   2 +-
 include/qapi/visitor-impl.h              |   6 +-
 include/qapi/visitor.h                   |   6 +-
 net/dump.c                               |   2 +-
 net/hub.c                                |   2 +-
 net/l2tpv3.c                             |   2 +-
 net/net.c                                |  20 ++---
 net/slirp.c                              |   2 +-
 net/socket.c                             |   2 +-
 net/tap.c                                |   4 +-
 net/vhost-user.c                         |   2 +-
 numa.c                                   |   4 +-
 qapi/qapi-dealloc-visitor.c              |  35 ++------
 qapi/qapi-visit-core.c                   |  24 ++----
 qapi/qmp-input-visitor.c                 |  11 ++-
 qemu-char.c                              |  24 +++---
 scripts/qapi-types.py                    |  75 +++++------------
 scripts/qapi-visit.py                    |  76 +++++++++--------
 scripts/qapi.py                          |  35 +++++---
 tests/Makefile                           |   1 +
 tests/qapi-schema/alternate-empty.err    |   1 +
 tests/qapi-schema/alternate-empty.exit   |   1 +
 tests/qapi-schema/alternate-empty.json   |   2 +
 tests/qapi-schema/alternate-empty.out    |   0
 tests/qapi-schema/alternate-good.out     |   1 -
 tests/qapi-schema/alternate-nested.json  |   2 +-
 tests/qapi-schema/alternate-unknown.json |   2 +-
 tests/qapi-schema/flat-union-empty.err   |   1 +
 tests/qapi-schema/flat-union-empty.exit  |   1 +
 tests/qapi-schema/flat-union-empty.json  |   4 +
 tests/qapi-schema/flat-union-empty.out   |   0
 tests/qapi-schema/qapi-schema-test.json  |  10 ++-
 tests/qapi-schema/qapi-schema-test.out   |  24 +++++-
 tests/qapi-schema/union-empty.err        |   1 +
 tests/qapi-schema/union-empty.exit       |   1 +
 tests/qapi-schema/union-empty.json       |   2 +
 tests/qapi-schema/union-empty.out        |   0
 tests/test-qmp-commands.c                |  17 ++--
 tests/test-qmp-event.c                   |   8 +-
 tests/test-qmp-input-visitor.c           | 140 ++++++++++++++++++++++++++++---
 tests/test-qmp-output-visitor.c          |  39 +++++----
 tests/test-visitor-serialization.c       |  14 ++--
 tpm.c                                    |   2 +-
 ui/input-keymap.c                        |  10 +--
 ui/input-legacy.c                        |   2 +-
 ui/input.c                               |  24 +++---
 ui/spice-core.c                          |  23 ++---
 ui/vnc.c                                 |  64 +++++++-------
 util/qemu-sockets.c                      |  12 +--
 57 files changed, 463 insertions(+), 358 deletions(-)
 create mode 100644 tests/qapi-schema/alternate-empty.err
 create mode 100644 tests/qapi-schema/alternate-empty.exit
 create mode 100644 tests/qapi-schema/alternate-empty.json
 create mode 100644 tests/qapi-schema/alternate-empty.out
 create mode 100644 tests/qapi-schema/flat-union-empty.err
 create mode 100644 tests/qapi-schema/flat-union-empty.exit
 create mode 100644 tests/qapi-schema/flat-union-empty.json
 create mode 100644 tests/qapi-schema/flat-union-empty.out
 create mode 100644 tests/qapi-schema/union-empty.err
 create mode 100644 tests/qapi-schema/union-empty.exit
 create mode 100644 tests/qapi-schema/union-empty.json
 create mode 100644 tests/qapi-schema/union-empty.out

-- 
2.4.3


Reply via email to