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