mirror of
https://github.com/xemu-project/xemu.git
synced 2024-11-24 03:59:52 +00:00
libqtest: Avoid inline varargs functions
Older versions of gcc (eg 4.6) can't handle varargs functions declared inline for anything other than completely trivial uses, and complain: tests/qom-test.c: In function 'qmp': tests/libqtest.h:359:60: sorry, unimplemented: function 'qmp' can never be inlined because it uses variable argument lists Avoid this problem by putting the functions into libqtest.c instead of using inline definitions in libqtest.h. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Andreas Färber <afaerber@suse.de>
This commit is contained in:
parent
750036a848
commit
0100f42550
@ -581,3 +581,23 @@ void qtest_memwrite(QTestState *s, uint64_t addr, const void *data, size_t size)
|
||||
qtest_sendf(s, "\n");
|
||||
qtest_rsp(s, 0);
|
||||
}
|
||||
|
||||
QDict *qmp(const char *fmt, ...)
|
||||
{
|
||||
va_list ap;
|
||||
QDict *response;
|
||||
|
||||
va_start(ap, fmt);
|
||||
response = qtest_qmpv(global_qtest, fmt, ap);
|
||||
va_end(ap);
|
||||
return response;
|
||||
}
|
||||
|
||||
void qmp_discard_response(const char *fmt, ...)
|
||||
{
|
||||
va_list ap;
|
||||
|
||||
va_start(ap, fmt);
|
||||
qtest_qmpv_discard_response(global_qtest, fmt, ap);
|
||||
va_end(ap);
|
||||
}
|
||||
|
@ -356,16 +356,7 @@ static inline void qtest_end(void)
|
||||
*
|
||||
* Sends a QMP message to QEMU and returns the response.
|
||||
*/
|
||||
static inline QDict *qmp(const char *fmt, ...)
|
||||
{
|
||||
va_list ap;
|
||||
QDict *response;
|
||||
|
||||
va_start(ap, fmt);
|
||||
response = qtest_qmpv(global_qtest, fmt, ap);
|
||||
va_end(ap);
|
||||
return response;
|
||||
}
|
||||
QDict *qmp(const char *fmt, ...);
|
||||
|
||||
/**
|
||||
* qmp_discard_response:
|
||||
@ -373,14 +364,7 @@ static inline QDict *qmp(const char *fmt, ...)
|
||||
*
|
||||
* Sends a QMP message to QEMU and consumes the response.
|
||||
*/
|
||||
static inline void qmp_discard_response(const char *fmt, ...)
|
||||
{
|
||||
va_list ap;
|
||||
|
||||
va_start(ap, fmt);
|
||||
qtest_qmpv_discard_response(global_qtest, fmt, ap);
|
||||
va_end(ap);
|
||||
}
|
||||
void qmp_discard_response(const char *fmt, ...);
|
||||
|
||||
/**
|
||||
* get_irq:
|
||||
|
Loading…
Reference in New Issue
Block a user