[PULL 0/6] QAPI patches for 2019-12-17

Markus Armbruster posted 6 patches 4 years, 4 months ago
Test asan failed
Test checkpatch failed
Test FreeBSD failed
Test docker-mingw@fedora failed
Test docker-clang@ubuntu failed
Test docker-quick@centos7 failed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20191217081454.8072-1-armbru@redhat.com
Maintainers: Markus Armbruster <armbru@redhat.com>, Michael Roth <mdroth@linux.vnet.ibm.com>, "Dr. David Alan Gilbert" <dgilbert@redhat.com>
docs/devel/qapi-code-gen.txt             | 19 +++++--
Makefile                                 |  4 +-
monitor/misc.c                           |  7 ++-
qga/main.c                               |  2 +-
tests/test-qmp-cmds.c                    |  1 +
.gitignore                               |  1 +
qapi/Makefile.objs                       |  1 +
qga/Makefile.objs                        |  1 +
scripts/qapi/commands.py                 | 17 ++++--
scripts/qapi/events.py                   |  2 +-
scripts/qapi/gen.py                      | 28 +++++-----
scripts/qapi/schema.py                   | 92 ++++++++++++++++++++------------
scripts/qapi/types.py                    |  5 +-
scripts/qapi/visit.py                    |  8 +--
tests/.gitignore                         |  1 +
tests/Makefile.include                   |  9 +++-
tests/qapi-schema/empty.out              |  1 +
tests/qapi-schema/include-repetition.out |  6 +--
tests/qapi-schema/qapi-schema-test.out   | 24 ++++-----
19 files changed, 144 insertions(+), 85 deletions(-)
[PULL 0/6] QAPI patches for 2019-12-17
Posted by Markus Armbruster 4 years, 4 months ago
The following changes since commit cb88904a54903ef6ba21a68a61d9cd51e2166304:

  Merge remote-tracking branch 'remotes/amarkovic/tags/mips-queue-dec-16-2019' into staging (2019-12-16 14:07:56 +0000)

are available in the Git repository at:

  git://repo.or.cz/qemu/armbru.git tags/pull-qapi-2019-12-17

for you to fetch changes up to 328add3012e0b642134afedcd53660c30c758866:

  qapi: Simplify QAPISchemaModularCVisitor (2019-12-17 08:09:28 +0100)

----------------------------------------------------------------
QAPI patches for 2019-12-17

----------------------------------------------------------------
Markus Armbruster (6):
      qapi: Tweak "command returns a nice type" check for clarity
      tests/Makefile.include: Fix missing test-qapi-emit-events.[ch]
      qapi: Generate command registration stuff into separate files
      qapi: Proper intermediate representation for modules
      qapi: Fix code generation for empty modules
      qapi: Simplify QAPISchemaModularCVisitor

 docs/devel/qapi-code-gen.txt             | 19 +++++--
 Makefile                                 |  4 +-
 monitor/misc.c                           |  7 ++-
 qga/main.c                               |  2 +-
 tests/test-qmp-cmds.c                    |  1 +
 .gitignore                               |  1 +
 qapi/Makefile.objs                       |  1 +
 qga/Makefile.objs                        |  1 +
 scripts/qapi/commands.py                 | 17 ++++--
 scripts/qapi/events.py                   |  2 +-
 scripts/qapi/gen.py                      | 28 +++++-----
 scripts/qapi/schema.py                   | 92 ++++++++++++++++++++------------
 scripts/qapi/types.py                    |  5 +-
 scripts/qapi/visit.py                    |  8 +--
 tests/.gitignore                         |  1 +
 tests/Makefile.include                   |  9 +++-
 tests/qapi-schema/empty.out              |  1 +
 tests/qapi-schema/include-repetition.out |  6 +--
 tests/qapi-schema/qapi-schema-test.out   | 24 ++++-----
 19 files changed, 144 insertions(+), 85 deletions(-)

-- 
2.21.0


Re: [PULL 0/6] QAPI patches for 2019-12-17
Posted by Peter Maydell 4 years, 4 months ago
On Tue, 17 Dec 2019 at 08:16, Markus Armbruster <armbru@redhat.com> wrote:
>
> The following changes since commit cb88904a54903ef6ba21a68a61d9cd51e2166304:
>
>   Merge remote-tracking branch 'remotes/amarkovic/tags/mips-queue-dec-16-2019' into staging (2019-12-16 14:07:56 +0000)
>
> are available in the Git repository at:
>
>   git://repo.or.cz/qemu/armbru.git tags/pull-qapi-2019-12-17
>
> for you to fetch changes up to 328add3012e0b642134afedcd53660c30c758866:
>
>   qapi: Simplify QAPISchemaModularCVisitor (2019-12-17 08:09:28 +0100)
>
> ----------------------------------------------------------------
> QAPI patches for 2019-12-17
>
> ----------------------------------------------------------------
> Markus Armbruster (6):
>       qapi: Tweak "command returns a nice type" check for clarity
>       tests/Makefile.include: Fix missing test-qapi-emit-events.[ch]
>       qapi: Generate command registration stuff into separate files
>       qapi: Proper intermediate representation for modules
>       qapi: Fix code generation for empty modules
>       qapi: Simplify QAPISchemaModularCVisitor

Build failures:

OSX:
In file included from In file included from qapi/qapi-types-block.c:15:
In file included from
/Users/pm215/src/qemu-for-merges/build/all/qapi/qapi-types-block.h:17:
In file included from
/Users/pm215/src/qemu-for-merges/build/all/qapi/qapi-types-block-core.h:18:
/Users/pm215/src/qemu-for-merges/build/all/qapi/qapi-types-crypto.h:176:33:
error: field has incomplete type 'QCryptoBlockOptionsQCow' (aka
'struct QCryptoBlockOptionsQCow')
qapi/qapi-types-block-core.c:15:
In file included from
/Users/pm215/src/qemu-for-merges/build/all/qapi/qapi-types-block-core.h:18:
/Users/pm215/src/qemu-for-merges/build/all/qapi/qapi-types-crypto.h:176:33:
error: field has incomplete type 'QCryptoBlockOptionsQCow' (aka
'struct QCryptoBlockOptionsQCow')
        QCryptoBlockOptionsQCow qcow;
        QCryptoBlockOptionsQCow qcow;                                ^

                                ^
/Users/pm215/src/qemu-for-merges/build/all/qapi/qapi-types-crypto.h:/Users/pm215/src/qemu-for-merges/build/all/qapi/qapi-types-crypto.h115::16115::
16note::  forward declaration of 'struct QCryptoBlockOptionsQCow'
note: forward declaration of 'struct QCryptoBlockOptionsQCow'
typedef struct QCryptoBlockOptionsQCow QCryptoBlockOptionsQCow;
               ^
typedef struct QCryptoBlockOptionsQCow QCryptoBlockOptionsQCow;
               ^
  CC      qapi/qapi-types-common.o
/Users/pm215/src/qemu-for-merges/build/all/qapi/qapi-types-crypto.h:177/Users/pm215/src/qemu-for-merges/build/all/qapi/qapi-types-crypto.h:177:33::
error: field has incomplete type 'QCryptoBlockOptionsLUKS' (aka
'struct QCryptoBlockOptionsLUKS')
        QCryptoBlockOptionsLUKS luks;
                                ^
/Users/pm215/src/qemu-for-merges/build/all/qapi/qapi-types-crypto.h:117:16:
note: forward declaration of 'struct QCryptoBlockOptionsLUKS'
33: error: typedef struct QCryptoBlockOptionsLUKS QCryptoBlockOptionsLUKS;
field has incomplete type 'QCryptoBlockOptionsLUKS' (aka 'struct
QCryptoBlockOptionsLUKS')               ^

        QCryptoBlockOptionsLUKS luks;
                                ^
/Users/pm215/src/qemu-for-merges/build/all/qapi/qapi-types-crypto.h:117:16:
note: forward declaration of 'struct QCryptoBlockOptionsLUKS'
typedef struct QCryptoBlockOptionsLUKS QCryptoBlockOptionsLUKS;
               ^
/Users/pm215/src/qemu-for-merges/build/all/qapi/qapi-types-crypto.h/Users/pm215/src/qemu-for-merges/build/all/qapi/qapi-types-crypto.h:193:33:
error: field has incomplete type 'QCryptoBlockOptionsQCow' (aka
'struct QCryptoBlockOptionsQCow')
        QCryptoBlockOptionsQCow qcow;
                                ^
:193:33:/Users/pm215/src/qemu-for-merges/build/all/qapi/qapi-types-crypto.h
:error115: :field has incomplete type 'QCryptoBlockOptionsQCow' (aka
'struct QCryptoBlockOptionsQCow')16
: note: forward declaration of 'struct QCryptoBlockOptionsQCow'
typedef struct QCryptoBlockOptionsQCow QCryptoBlockOptionsQCow;
               ^
        QCryptoBlockOptionsQCow qcow;
                                ^
/Users/pm215/src/qemu-for-merges/build/all/qapi/qapi-types-crypto.h:115:16:
note: forward declaration of 'struct QCryptoBlockOptionsQCow'
typedef struct QCryptoBlockOptionsQCow QCryptoBlockOptionsQCow;
               ^
/Users/pm215/src/qemu-for-merges/build/all/qapi/qapi-types-crypto.h:236:30:
error: field has incomplete type 'QCryptoBlockInfoLUKS' (aka 'struct
QCryptoBlockInfoLUKS')
        QCryptoBlockInfoLUKS luks;
                             ^
/Users/pm215/src/qemu-for-merges/build/all/qapi/qapi-types-crypto.h:131:16:
note: forward declaration of 'struct QCryptoBlockInfoLUKS'
typedef struct QCryptoBlockInfoLUKS QCryptoBlockInfoLUKS;
               ^
/Users/pm215/src/qemu-for-merges/build/all/qapi/qapi-types-crypto.h:236:30:
error: field has incomplete type 'QCryptoBlockInfoLUKS' (aka 'struct
QCryptoBlockInfoLUKS')
        QCryptoBlockInfoLUKS luks;
                             ^
/Users/pm215/src/qemu-for-merges/build/all/qapi/qapi-types-crypto.h:131:16:
note: forward declaration of 'struct QCryptoBlockInfoLUKS'
typedef struct QCryptoBlockInfoLUKS QCryptoBlockInfoLUKS;
               ^
4 errors generated.

x86-64 linux:

In file included from qapi/qapi-types-block-core.h:18:0,
                 from qapi/qapi-types-block-core.c:15:
qapi/qapi-types-crypto.h:176:33: error: field ‘qcow’ has incomplete type
         QCryptoBlockOptionsQCow qcow;
                                 ^~~~
qapi/qapi-types-crypto.h:177:33: error: field ‘luks’ has incomplete type
         QCryptoBlockOptionsLUKS luks;
                                 ^~~~
qapi/qapi-types-crypto.h:193:33: error: field ‘qcow’ has incomplete type
         QCryptoBlockOptionsQCow qcow;
                                 ^~~~
qapi/qapi-types-crypto.h:236:30: error: field ‘luks’ has incomplete type
         QCryptoBlockInfoLUKS luks;
                              ^~~~

thanks
-- PMM

Re: [PULL 0/6] QAPI patches for 2019-12-17
Posted by Markus Armbruster 4 years, 4 months ago
Peter Maydell <peter.maydell@linaro.org> writes:

> On Tue, 17 Dec 2019 at 08:16, Markus Armbruster <armbru@redhat.com> wrote:
>>
>> The following changes since commit cb88904a54903ef6ba21a68a61d9cd51e2166304:
>>
>>   Merge remote-tracking branch 'remotes/amarkovic/tags/mips-queue-dec-16-2019' into staging (2019-12-16 14:07:56 +0000)
>>
>> are available in the Git repository at:
>>
>>   git://repo.or.cz/qemu/armbru.git tags/pull-qapi-2019-12-17
>>
>> for you to fetch changes up to 328add3012e0b642134afedcd53660c30c758866:
>>
>>   qapi: Simplify QAPISchemaModularCVisitor (2019-12-17 08:09:28 +0100)
>>
>> ----------------------------------------------------------------
>> QAPI patches for 2019-12-17
>>
>> ----------------------------------------------------------------
>> Markus Armbruster (6):
>>       qapi: Tweak "command returns a nice type" check for clarity
>>       tests/Makefile.include: Fix missing test-qapi-emit-events.[ch]
>>       qapi: Generate command registration stuff into separate files
>>       qapi: Proper intermediate representation for modules
>>       qapi: Fix code generation for empty modules
>>       qapi: Simplify QAPISchemaModularCVisitor
>
> Build failures:
>
> OSX:
> In file included from In file included from qapi/qapi-types-block.c:15:
> In file included from
> /Users/pm215/src/qemu-for-merges/build/all/qapi/qapi-types-block.h:17:
> In file included from
> /Users/pm215/src/qemu-for-merges/build/all/qapi/qapi-types-block-core.h:18:
> /Users/pm215/src/qemu-for-merges/build/all/qapi/qapi-types-crypto.h:176:33:
> error: field has incomplete type 'QCryptoBlockOptionsQCow' (aka
> 'struct QCryptoBlockOptionsQCow')
> qapi/qapi-types-block-core.c:15:
> In file included from
> /Users/pm215/src/qemu-for-merges/build/all/qapi/qapi-types-block-core.h:18:
> /Users/pm215/src/qemu-for-merges/build/all/qapi/qapi-types-crypto.h:176:33:
> error: field has incomplete type 'QCryptoBlockOptionsQCow' (aka
> 'struct QCryptoBlockOptionsQCow')
>         QCryptoBlockOptionsQCow qcow;
>         QCryptoBlockOptionsQCow qcow;                                ^
>
>                                 ^

Perplexing.  None of the files involved gets changed by this pull
request.  My qapi-types-crypto.h has

    typedef struct QCryptoBlockOptionsQCow QCryptoBlockOptionsQCow;
    [...]
    struct QCryptoBlockOptionsQCow {
        bool has_key_secret;
        char *key_secret;
    };
    [...]
    struct QCryptoBlockOpenOptions {
        /* Members inherited from QCryptoBlockOptionsBase: */
        QCryptoBlockFormat format;
        /* Own members: */
        union { /* union tag is @format */
            QCryptoBlockOptionsQCow qcow;
            QCryptoBlockOptionsLUKS luks;
        } u;
    };

before and after.  May I see yours?

[More errors snipped, they're similar]


Re: [PULL 0/6] QAPI patches for 2019-12-17
Posted by Peter Maydell 4 years, 3 months ago
On Wed, 18 Dec 2019 at 08:42, Markus Armbruster <armbru@redhat.com> wrote:
> Perplexing.  None of the files involved gets changed by this pull
> request.  My qapi-types-crypto.h has
>
>     typedef struct QCryptoBlockOptionsQCow QCryptoBlockOptionsQCow;
>     [...]
>     struct QCryptoBlockOptionsQCow {
>         bool has_key_secret;
>         char *key_secret;
>     };
>     [...]
>     struct QCryptoBlockOpenOptions {
>         /* Members inherited from QCryptoBlockOptionsBase: */
>         QCryptoBlockFormat format;
>         /* Own members: */
>         union { /* union tag is @format */
>             QCryptoBlockOptionsQCow qcow;
>             QCryptoBlockOptionsLUKS luks;
>         } u;
>     };
>
> before and after.  May I see yours?

Unfortunately not -- I've already discarded this build attempt
and continued with processing other merge requests.

thanks
-- PMM

Re: [PULL 0/6] QAPI patches for 2019-12-17
Posted by Markus Armbruster 4 years, 3 months ago
Peter Maydell <peter.maydell@linaro.org> writes:

> On Wed, 18 Dec 2019 at 08:42, Markus Armbruster <armbru@redhat.com> wrote:
>> Perplexing.  None of the files involved gets changed by this pull
>> request.  My qapi-types-crypto.h has
>>
>>     typedef struct QCryptoBlockOptionsQCow QCryptoBlockOptionsQCow;
>>     [...]
>>     struct QCryptoBlockOptionsQCow {
>>         bool has_key_secret;
>>         char *key_secret;
>>     };
>>     [...]
>>     struct QCryptoBlockOpenOptions {
>>         /* Members inherited from QCryptoBlockOptionsBase: */
>>         QCryptoBlockFormat format;
>>         /* Own members: */
>>         union { /* union tag is @format */
>>             QCryptoBlockOptionsQCow qcow;
>>             QCryptoBlockOptionsLUKS luks;
>>         } u;
>>     };
>>
>> before and after.  May I see yours?
>
> Unfortunately not -- I've already discarded this build attempt
> and continued with processing other merge requests.

Alright, I closed the curtains, lighted some incense sticks, stared deep
into the crystal ball, and beheld the number two.  Two as in Python 2.

Are we ready to ditch Python 2 in 5.0?