[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 08/26] qapi: Generate a nicer struct for flat un
From: |
Eric Blake |
Subject: |
Re: [Qemu-devel] [PATCH 08/26] qapi: Generate a nicer struct for flat unions |
Date: |
Tue, 4 Aug 2015 11:00:21 -0600 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.1.0 |
On 08/04/2015 03:17 AM, Markus Armbruster wrote:
> The struct generated for a flat union is weird: the members of its
> base are at the end, except for the union tag, which is at the
> beginning.
>
> Change to put all base members at the beginning, unadulterated. Not
> only is this easier to understand, it also permits casting the flat
> union to its base, if that should become useful.
And I already have a followup patch to your RFCv3 where it IS useful :)
>
> We now generate:
>
> struct UserDefFlatUnion
> {
> /* Members inherited from UserDefUnionBase: */
> char *string;
> EnumOne enum1;
> /* Own members: */
> union { /* union tag is @enum1 */
> void *data;
> UserDefA *value1;
> UserDefB *value2;
> UserDefB *value3;
> };
> };
>
> Signed-off-by: Markus Armbruster <address@hidden>
> ---
> scripts/qapi-types.py | 38 ++++++++++++++++++++++----------------
> 1 file changed, 22 insertions(+), 16 deletions(-)
>
Reviewed-by: Eric Blake <address@hidden>
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
- [Qemu-devel] [PATCH 00/26] qapi: Another round of fixes and cleanups, Markus Armbruster, 2015/08/04
- [Qemu-devel] [PATCH 04/26] qapi-event: Clean up how name of enum QAPIEvent is made, Markus Armbruster, 2015/08/04
- [Qemu-devel] [PATCH 01/26] qapi: Clarify docs on including the same file multiple times, Markus Armbruster, 2015/08/04
- [Qemu-devel] [PATCH 05/26] qapi: Reject -p arguments that break qapi-event.py, Markus Armbruster, 2015/08/04
- [Qemu-devel] [PATCH 08/26] qapi: Generate a nicer struct for flat unions, Markus Armbruster, 2015/08/04
- Re: [Qemu-devel] [PATCH 08/26] qapi: Generate a nicer struct for flat unions,
Eric Blake <=
- [Qemu-devel] [PATCH 10/26] qapi-visit: Replace list implicit_structs by set, Markus Armbruster, 2015/08/04
- [Qemu-devel] [PATCH 15/26] qapi: Document shortcoming with union 'data' branch, Markus Armbruster, 2015/08/04
- [Qemu-devel] [PATCH 02/26] qapi: Clean up cgen() and mcgen(), Markus Armbruster, 2015/08/04
- [Qemu-devel] [PATCH 07/26] qapi: Fix generated code when flat union has member 'kind', Markus Armbruster, 2015/08/04
- [Qemu-devel] [PATCH 20/26] qapi: Fix to reject union command and event arguments, Markus Armbruster, 2015/08/04