[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 27/54] qapi-types: add #if conditions to type
From: |
Marc-André Lureau |
Subject: |
Re: [Qemu-devel] [PATCH v2 27/54] qapi-types: add #if conditions to types |
Date: |
Wed, 6 Sep 2017 16:56:44 +0200 |
Hi
On Wed, Sep 6, 2017 at 1:43 PM, Markus Armbruster <address@hidden> wrote:
> Marc-André Lureau <address@hidden> writes:
>
>> Wrap generated code with #if/#endif using the ifcond_decorator.
>>
>> Signed-off-by: Marc-André Lureau <address@hidden>
>
> In my testing, this generates repeated conditionals, e.g.
>
> diff -rup qapi-gen-24-dc1833e3fb/test-qapi-types.c
> qapi-gen-27-9600b4638d/test-qapi-types.c
> --- qapi-gen-24-dc1833e3fb/test-qapi-types.c 2017-09-06
> 12:02:33.440375590 +0200
> +++ qapi-gen-27-9600b4638d/test-qapi-types.c 2017-09-06
> 12:55:08.709973386 +0200
> @@ -178,6 +178,12 @@ const QEnumLookup QEnumTwo_lookup = {
> .size = QENUM_TWO__MAX
> };
>
> +#if defined(TEST_IF_ALT) && defined(TEST_IF_STRUCT)
> +
> +
> +#if defined(TEST_IF_ALT) && defined(TEST_IF_STRUCT)
> +
> +
> void qapi_free_TestIfAlternate(TestIfAlternate *obj)
> {
> Visitor *v;
> @@ -191,6 +197,15 @@ void qapi_free_TestIfAlternate(TestIfAlt
> visit_free(v);
> }
>
> +#endif /* defined(TEST_IF_ALT) && defined(TEST_IF_STRUCT) */
> +
> +
> +#endif /* defined(TEST_IF_ALT) && defined(TEST_IF_STRUCT) */
> +
> +
>
> and
>
> diff -rup qapi-gen-24-dc1833e3fb/test-qapi-types.h
> qapi-gen-27-9600b4638d/test-qapi-types.h
> --- qapi-gen-24-dc1833e3fb/test-qapi-types.h 2017-09-06
> 12:02:27.386461287 +0200
> +++ qapi-gen-27-9600b4638d/test-qapi-types.h 2017-09-06
> 12:55:02.365062236 +0200
> [...]
> @@ -486,6 +498,9 @@ struct NestedEnumsOne {
>
> void qapi_free_NestedEnumsOne(NestedEnumsOne *obj);
>
> +#if defined(TEST_IF_ALT) && defined(TEST_IF_STRUCT)
> +
> +
> struct TestIfAlternate {
> QType type;
> union { /* union tag is @type */
> @@ -494,18 +509,42 @@ struct TestIfAlternate {
> } u;
> };
>
> +#if defined(TEST_IF_ALT) && defined(TEST_IF_STRUCT)
> +
> +
> void qapi_free_TestIfAlternate(TestIfAlternate *obj);
>
> +#endif /* defined(TEST_IF_ALT) && defined(TEST_IF_STRUCT) */
> +
> +
> +#endif /* defined(TEST_IF_ALT) && defined(TEST_IF_STRUCT) */
> +
> +
>
> Let's ignore this until we've made up our mind *how* to best generate
> conditionals.
>
Fixed, that was being extra cautious :)
--
Marc-André Lureau