This series makes it possible to use downstream extensions
(such as __com.redhat_xyz) and temporary names (such as x-foo)
in every position possible in QAPI schemes, with added tests
that the generated code still compiles.

There's still some things we could do to the qapi generator,
such as normalizing struct member names and C manglings and
creating named implicit types up front on the initial parse
rather than multiple times in each backend.  But that should
wait until existing pending patches have landed, to minimize
rebase churn.

v2 was here:
https://lists.gnu.org/archive/html/qemu-devel/2015-04/msg01300.html

v3 includes several more of Markus' original RFC series, splits
up my work into smaller pieces, incorporates fixes suggested by
Markus, and rebases on top of the pending v8 qapi drop nested
structs series.  The series has changed enough from v2 that it
is not worth showing git backport-diff statistics (as only patch
1 survived intact).

Eric Blake (8):
  qapi: Rename identical c_fun()/c_var() into c_name()
  qapi: Make c_type() consistently convert qapi names
  qapi: Support downstream enums
  qapi: Support downstream structs
  qapi: Support downstream simple unions
  qapi: Support downstream flat unions
  qapi: Support downstream alternates
  qapi: Support downstream events and commands

Markus Armbruster (6):
  qapi: Fix C identifiers generated for names containing '.'
  qapi: Rename _generate_enum_string() to camel_to_upper()
  qapi: Rename generate_enum_full_value() to c_enum_const()
  qapi: Simplify c_enum_const()
  qapi: Use c_enum_const() in generate_alternate_qtypes()
  qapi: Move camel_to_upper(), c_enum_const() to closely related code

 scripts/qapi-commands.py                | 51 ++++++++----------
 scripts/qapi-event.py                   | 15 +++---
 scripts/qapi-types.py                   | 44 +++++++--------
 scripts/qapi-visit.py                   | 54 ++++++++++---------
 scripts/qapi.py                         | 96 ++++++++++++++++-----------------
 tests/qapi-schema/qapi-schema-test.json | 20 +++++++
 tests/qapi-schema/qapi-schema-test.out  | 21 ++++++--
 tests/test-qmp-commands.c               | 15 ++++++
 8 files changed, 179 insertions(+), 137 deletions(-)

-- 
2.1.0


Reply via email to