mbox

[PULL,for-2.5,0/4] QOM devices patch queue 2015-12-03

Message ID 1449171909-22018-1-git-send-email-afaerber@suse.de
State New
Headers show

Pull-request

git://github.com/afaerber/qemu-cpu.git tags/qom-devices-for-peter

Message

Andreas Färber Dec. 3, 2015, 7:45 p.m. UTC
Hello Peter,

This is my QOM (devices) patch queue for 2.5. Please pull.

Regards,
Andreas

Cc: Peter Maydell <peter.maydell@linaro.org>
Cc: Markus Armbruster <armbru@redhat.com>
Cc: Marc-André Lureau <marcandre.lureau@redhat.com>

The following changes since commit 4c65fed8bdf96780735dbdb92a8bd0d6b6526cc3:

  ui: vnc: avoid floating point exception (2015-12-03 13:34:50 +0000)

are available in the git repository at:

  git://github.com/afaerber/qemu-cpu.git tags/qom-devices-for-peter

for you to fetch changes up to 43c2a474d71918c138ecc6ad7c747d9e9557b6c9:

  qom-test: Fix qmp() leaks (2015-12-03 20:22:15 +0100)

----------------------------------------------------------------
QOM infrastructure fixes and device conversions

* Typo fix
* qom-test and related fixes

----------------------------------------------------------------
Andreas Färber (1):
      tests: Fix check-report-qtest-% target

Cao jin (1):
      qom: Update documentation comment of struct Object

Marc-André Lureau (1):
      qom-test: Fix qmp() leaks

Markus Armbruster (1):
      tests: Use proper functions types instead of void (*fn)

 include/qom/object.h    |  3 ---
 tests/Makefile          |  4 ++--
 tests/ide-test.c        |  4 ++--
 tests/libqtest.c        | 13 +++++++++----
 tests/libqtest.h        |  6 +++---
 tests/qom-test.c        | 21 ++++++++++++++-------
 tests/vhost-user-test.c |  3 ++-
 7 files changed, 32 insertions(+), 22 deletions(-)

Comments

Peter Maydell Dec. 3, 2015, 9:08 p.m. UTC | #1
On 3 December 2015 at 19:45, Andreas Färber <afaerber@suse.de> wrote:
> Hello Peter,
>
> This is my QOM (devices) patch queue for 2.5. Please pull.
>
> Regards,
> Andreas
>
> Cc: Peter Maydell <peter.maydell@linaro.org>
> Cc: Markus Armbruster <armbru@redhat.com>
> Cc: Marc-André Lureau <marcandre.lureau@redhat.com>
>
> The following changes since commit 4c65fed8bdf96780735dbdb92a8bd0d6b6526cc3:
>
>   ui: vnc: avoid floating point exception (2015-12-03 13:34:50 +0000)
>
> are available in the git repository at:
>
>   git://github.com/afaerber/qemu-cpu.git tags/qom-devices-for-peter
>
> for you to fetch changes up to 43c2a474d71918c138ecc6ad7c747d9e9557b6c9:
>
>   qom-test: Fix qmp() leaks (2015-12-03 20:22:15 +0100)
>
> ----------------------------------------------------------------
> QOM infrastructure fixes and device conversions
>
> * Typo fix
> * qom-test and related fixes

Unfortunately this fails to build with our minimum supported
Glib version:

In file included from /Users/pm215/src/qemu-for-merges/tests/ds1338-test.c:20:
/Users/pm215/src/qemu-for-merges/tests/libqtest.h:419:38: error:
unknown type name 'GTestFunc'; did you mean 'GHashFunc'?
void qtest_add_func(const char *str, GTestFunc fn);
                                     ^~~~~~~~~
                                     GHashFunc
/sw/include/glib-2.0/glib/gtypes.h:90:27: note: 'GHashFunc' declared here
typedef guint           (*GHashFunc)            (gconstpointer  key);
                          ^
In file included from /Users/pm215/src/qemu-for-merges/tests/ds1338-test.c:20:
/Users/pm215/src/qemu-for-merges/tests/libqtest.h:431:61: error:
unknown type name 'GTestDataFunc'
void qtest_add_data_func(const char *str, const void *data, GTestDataFunc fn);
                                                            ^
/Users/pm215/src/qemu-for-merges/tests/ds1338-test.c:68:37: warning:
incompatible pointer types passing 'void (void)' to parameter of type
'GHashFunc' (aka 'guint (*)(gconstpointer)')
[-Wincompatible-pointer-types]
    qtest_add_func("/ds1338/tx-rx", send_and_receive);
                                    ^~~~~~~~~~~~~~~~
/Users/pm215/src/qemu-for-merges/tests/libqtest.h:419:48: note:
passing argument to parameter 'fn' here
void qtest_add_func(const char *str, GTestFunc fn);
                                               ^

The GTestFunc and GTestDataFunc types were added in GLib 2.28,
but we need to support 2.22.

(That last warning I think is just because clang guessed wrong
about how to fix up the initial error.)

thanks
-- PMM
Markus Armbruster Dec. 4, 2015, 7:54 a.m. UTC | #2
Peter Maydell <peter.maydell@linaro.org> writes:

> On 3 December 2015 at 19:45, Andreas Färber <afaerber@suse.de> wrote:
>> Hello Peter,
>>
>> This is my QOM (devices) patch queue for 2.5. Please pull.
>>
>> Regards,
>> Andreas
>>
>> Cc: Peter Maydell <peter.maydell@linaro.org>
>> Cc: Markus Armbruster <armbru@redhat.com>
>> Cc: Marc-André Lureau <marcandre.lureau@redhat.com>
>>
>> The following changes since commit 4c65fed8bdf96780735dbdb92a8bd0d6b6526cc3:
>>
>>   ui: vnc: avoid floating point exception (2015-12-03 13:34:50 +0000)
>>
>> are available in the git repository at:
>>
>>   git://github.com/afaerber/qemu-cpu.git tags/qom-devices-for-peter
>>
>> for you to fetch changes up to 43c2a474d71918c138ecc6ad7c747d9e9557b6c9:
>>
>>   qom-test: Fix qmp() leaks (2015-12-03 20:22:15 +0100)
>>
>> ----------------------------------------------------------------
>> QOM infrastructure fixes and device conversions
>>
>> * Typo fix
>> * qom-test and related fixes
>
> Unfortunately this fails to build with our minimum supported
> Glib version:
>
> In file included from /Users/pm215/src/qemu-for-merges/tests/ds1338-test.c:20:
> /Users/pm215/src/qemu-for-merges/tests/libqtest.h:419:38: error:
> unknown type name 'GTestFunc'; did you mean 'GHashFunc'?
> void qtest_add_func(const char *str, GTestFunc fn);
>                                      ^~~~~~~~~
>                                      GHashFunc
> /sw/include/glib-2.0/glib/gtypes.h:90:27: note: 'GHashFunc' declared here
> typedef guint           (*GHashFunc)            (gconstpointer  key);
>                           ^
> In file included from /Users/pm215/src/qemu-for-merges/tests/ds1338-test.c:20:
> /Users/pm215/src/qemu-for-merges/tests/libqtest.h:431:61: error:
> unknown type name 'GTestDataFunc'
> void qtest_add_data_func(const char *str, const void *data, GTestDataFunc fn);
>                                                             ^
> /Users/pm215/src/qemu-for-merges/tests/ds1338-test.c:68:37: warning:
> incompatible pointer types passing 'void (void)' to parameter of type
> 'GHashFunc' (aka 'guint (*)(gconstpointer)')
> [-Wincompatible-pointer-types]
>     qtest_add_func("/ds1338/tx-rx", send_and_receive);
>                                     ^~~~~~~~~~~~~~~~
> /Users/pm215/src/qemu-for-merges/tests/libqtest.h:419:48: note:
> passing argument to parameter 'fn' here
> void qtest_add_func(const char *str, GTestFunc fn);
>                                                ^
>
> The GTestFunc and GTestDataFunc types were added in GLib 2.28,
> but we need to support 2.22.
>
> (That last warning I think is just because clang guessed wrong
> about how to fix up the initial error.)

My fault, sorry!  I assumed the data types would be available where the
functions are.  The documentation fine print shows they got tacked on
later.

Options:

0. Don't honor Andreas's pull request for 2.5.

1. Apply without my two patches.

2. Apply with just the second patch.  Use Marc-André's version
   <1448551895-871-1-git-send-email-marcandre.lureau@redhat.com> to save
   you a straightforward rebase.

3. Apply with the obvious fixup patch I'm going to post shortly.