From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33471) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VdcBD-0004wK-JF for qemu-devel@nongnu.org; Tue, 05 Nov 2013 03:40:14 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VdcB5-0002Pu-Rs for qemu-devel@nongnu.org; Tue, 05 Nov 2013 03:40:07 -0500 Received: from e28smtp03.in.ibm.com ([122.248.162.3]:50916) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VdcB5-0002Oq-51 for qemu-devel@nongnu.org; Tue, 05 Nov 2013 03:39:59 -0500 Received: from /spool/local by e28smtp03.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Tue, 5 Nov 2013 14:09:53 +0530 Received: from d28relay01.in.ibm.com (d28relay01.in.ibm.com [9.184.220.58]) by d28dlp02.in.ibm.com (Postfix) with ESMTP id A40C0394004D for ; Tue, 5 Nov 2013 14:09:26 +0530 (IST) Received: from d28av02.in.ibm.com (d28av02.in.ibm.com [9.184.220.64]) by d28relay01.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id rA58dijT35717324 for ; Tue, 5 Nov 2013 14:09:44 +0530 Received: from d28av02.in.ibm.com (localhost [127.0.0.1]) by d28av02.in.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id rA58dnTt015509 for ; Tue, 5 Nov 2013 14:09:49 +0530 From: Wenchao Xia Date: Tue, 5 Nov 2013 08:37:30 +0800 Message-Id: <1383611860-9053-1-git-send-email-xiawenc@linux.vnet.ibm.com> Subject: [Qemu-devel] [PATCH RFC 00/10] qapi script: support enum as discriminator and other improves List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: kwolf@redhat.com, armbru@redhat.com, lcapitulino@redhat.com, pbonzini@redhat.com, Wenchao Xia Patch 1 and 9 fix two memleak issue. Patch 2-6 add support for enum type as discriminator Patch 7 add "_base" support which can reduce number of defined structure Patch 8 fix enum name generation issue, now AIOContext->AIO_CONTEXT, X86CPU-> X86_CPU. Patch 10 are a butch of test cases. Wenchao Xia (10): 1 qapi: fix memleak by add implict struct functions in dealloc visitor 2 qapi script: remember enum values 3 qapi script: check correctness of discriminator values in union 4 qapi script: code move for generate_enum_name() 5 qapi script: use same function to generate enum string 6 qapi script: not generate hidden enum type for pre-defined enum discriminator 7 qapi script: support direct inheritance for struct 8 qapi script: do not add "_" for every capitalized char in enum 9 tests: fix memleak in error path test for input visitor 10 tests: add cases for inherited struct and union with discriminator docs/qapi-code-gen.txt | 21 +++ include/qapi/qmp/qerror.h | 2 +- qapi/qapi-dealloc-visitor.c | 20 +++ scripts/qapi-types.py | 34 +++--- scripts/qapi-visit.py | 50 +++++-- scripts/qapi.py | 84 ++++++++++- target-i386/cpu.c | 2 +- tests/qapi-schema/comments.out | 2 +- tests/qapi-schema/qapi-schema-test.json | 36 +++++ tests/qapi-schema/qapi-schema-test.out | 19 +++- tests/test-qmp-input-visitor.c | 189 ++++++++++++++++++++++++ tests/test-qmp-output-visitor.c | 238 +++++++++++++++++++++++++++++++ 12 files changed, 660 insertions(+), 37 deletions(-)