diff mbox series

[v2,2/4] scripts/qapi: allow optional experimental enum values

Message ID 20230419225232.508121-3-vsementsov@yandex-team.ru (mailing list archive)
State New, archived
Headers show
Series COLO: improve build options | expand

Commit Message

Vladimir Sementsov-Ogievskiy April 19, 2023, 10:52 p.m. UTC
To be used in the next commit.

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
---
 scripts/qapi/types.py | 2 ++
 1 file changed, 2 insertions(+)

Comments

Juan Quintela April 20, 2023, 9:55 a.m. UTC | #1
Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru> wrote:
> To be used in the next commit.
>
> Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>

I am cc'd, but this is black magic to me.

Later, Juan.
Eric Blake April 20, 2023, 2:43 p.m. UTC | #2
On Thu, Apr 20, 2023 at 01:52:30AM +0300, Vladimir Sementsov-Ogievskiy wrote:
> To be used in the next commit.
> 
> Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
> ---
>  scripts/qapi/types.py | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/scripts/qapi/types.py b/scripts/qapi/types.py
> index c39d054d2c..18f8734047 100644
> --- a/scripts/qapi/types.py
> +++ b/scripts/qapi/types.py
> @@ -61,10 +61,12 @@ def gen_enum_lookup(name: str,
>  
>          special_features = gen_special_features(memb.features)
>          if special_features != '0':
> +            feats += memb.ifcond.gen_if()
>              feats += mcgen('''
>          [%(index)s] = %(special_features)s,
>  ''',
>                             index=index, special_features=special_features)
> +            feats += memb.ifcond.gen_endif()

Perhaps Markus will have a comment here; but in general, changes to
the QAPI that don't have accompanying changes in the testsuite are
hard to prove that they do something useful.

At a minimum, the commit message should at least say what sort of
things are not permitted without this patch that are now possible,
rather than making me figure out what the next patch uses that failed
the QAPI generator without this patch.
Vladimir Sementsov-Ogievskiy April 20, 2023, 4:47 p.m. UTC | #3
On 20.04.23 17:43, Eric Blake wrote:
> On Thu, Apr 20, 2023 at 01:52:30AM +0300, Vladimir Sementsov-Ogievskiy wrote:
>> To be used in the next commit.
>>
>> Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
>> ---
>>   scripts/qapi/types.py | 2 ++
>>   1 file changed, 2 insertions(+)
>>
>> diff --git a/scripts/qapi/types.py b/scripts/qapi/types.py
>> index c39d054d2c..18f8734047 100644
>> --- a/scripts/qapi/types.py
>> +++ b/scripts/qapi/types.py
>> @@ -61,10 +61,12 @@ def gen_enum_lookup(name: str,
>>   
>>           special_features = gen_special_features(memb.features)
>>           if special_features != '0':
>> +            feats += memb.ifcond.gen_if()
>>               feats += mcgen('''
>>           [%(index)s] = %(special_features)s,
>>   ''',
>>                              index=index, special_features=special_features)
>> +            feats += memb.ifcond.gen_endif()
> 
> Perhaps Markus will have a comment here; but in general, changes to
> the QAPI that don't have accompanying changes in the testsuite are
> hard to prove that they do something useful.
> 
> At a minimum, the commit message should at least say what sort of
> things are not permitted without this patch that are now possible,
> rather than making me figure out what the next patch uses that failed
> the QAPI generator without this patch.
> 

OK, I'll improve the commit message if we decide to keep patch 3 as is.

Actually patch would be more obvious if have a bit more code context: just above this same gen_if()s are called to generate #ifdefs for enum members.
diff mbox series

Patch

diff --git a/scripts/qapi/types.py b/scripts/qapi/types.py
index c39d054d2c..18f8734047 100644
--- a/scripts/qapi/types.py
+++ b/scripts/qapi/types.py
@@ -61,10 +61,12 @@  def gen_enum_lookup(name: str,
 
         special_features = gen_special_features(memb.features)
         if special_features != '0':
+            feats += memb.ifcond.gen_if()
             feats += mcgen('''
         [%(index)s] = %(special_features)s,
 ''',
                            index=index, special_features=special_features)
+            feats += memb.ifcond.gen_endif()
 
     if feats:
         ret += mcgen('''