@@ -596,11 +596,8 @@ extern const VMStateInfo vmstate_info_bitmap;
VMSTATE_SINGLE(_f, _s, 0, vmstate_info_int32_le, int32_t)
-#define VMSTATE_FLOAT64_V(_f, _s, _v) \
- VMSTATE_SINGLE(_f, _s, _v, vmstate_info_float64, float64)
-
#define VMSTATE_FLOAT64(_f, _s) \
- VMSTATE_FLOAT64_V(_f, _s, 0)
+ VMSTATE_SINGLE_TEST(_f, _s, NULL, 0, vmstate_info_float64, float64)
#define VMSTATE_TIMER_TEST(_f, _s, _test) \
VMSTATE_POINTER_TEST(_f, _s, _test, vmstate_info_timer, QEMUTimer *)
@@ -158,6 +158,7 @@ typedef struct TestSimple {
int16_t i16_1, i16_2;
int32_t i32_1, i32_2;
int64_t i64_1, i64_2;
+ float64 f64;
} TestSimple;
/* Object instantiation, we are going to use it in more than one test */
@@ -181,6 +182,7 @@ TestSimple obj_simple = {
.i32_2 = -70000,
.i64_1 = 12121212,
.i64_2 = -12121212,
+ .f64 = float64_pi,
};
/* Description of the values. If you add a primitive type
@@ -205,6 +207,7 @@ static const VMStateDescription vmstate_simple_primitive = {
VMSTATE_INT32(i32_2, TestSimple),
VMSTATE_INT64(i64_1, TestSimple),
VMSTATE_INT64(i64_2, TestSimple),
+ VMSTATE_FLOAT64(f64, TestSimple),
VMSTATE_END_OF_LIST()
}
};
@@ -236,6 +239,7 @@ uint8_t wire_simple_primitive[] = {
/* i32_2 */ 0xff, 0xfe, 0xee, 0x90,
/* i64_1 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xb8, 0xf4, 0x7c,
/* i64_2 */ 0xff, 0xff, 0xff, 0xff, 0xff, 0x47, 0x0b, 0x84,
+ /* f64 */ 0x40, 0x09, 0x21, 0xfb, 0x54, 0x44, 0x2d, 0x18,
QEMU_VM_EOF, /* just to ensure we won't get EOF reported prematurely */
};
@@ -273,6 +277,7 @@ static void test_simple_primitive(void)
FIELD_EQUAL(i32_2);
FIELD_EQUAL(i64_1);
FIELD_EQUAL(i64_2);
+ FIELD_EQUAL(f64);
}
static bool test_true(void *opaque, int version_id)
Remove unused VMSTATE_FLOAT64_V. Signed-off-by: Juan Quintela <quintela@redhat.com> --- include/migration/vmstate.h | 5 +---- tests/test-vmstate.c | 5 +++++ 2 files changed, 6 insertions(+), 4 deletions(-)