From 08f7ad1b00a00eeb6c8f499b138f41d3b59f0ece Mon Sep 17 00:00:00 2001 From: Jafar Abdi Date: Sat, 23 Mar 2019 17:26:35 +0300 Subject: [PATCH 1/3] tests/libqos: fix usage of bool in pci-pc.c Clean up wrong usage of FALSE and TRUE in places that use "bool" from stdbool.h. FALSE and TRUE (with capital letters) are the constants defined by glib for being used with the "gboolean" type of glib. But some parts of the code also use TRUE and FALSE for variables that are declared as "bool" (the type from ). Signed-off-by: Jafar Abdi Reviewed-by: Eric Blake Reviewed-by: Thomas Huth Message-Id: <1553351197-14581-3-git-send-email-cafer.abdi@gmail.com> Signed-off-by: Thomas Huth --- tests/libqos/pci-pc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/libqos/pci-pc.c b/tests/libqos/pci-pc.c index 4ab16facf2..407d8aff78 100644 --- a/tests/libqos/pci-pc.c +++ b/tests/libqos/pci-pc.c @@ -125,7 +125,7 @@ void qpci_init_pc(QPCIBusPC *qpci, QTestState *qts, QGuestAllocator *alloc) assert(qts); /* tests can use pci-bus */ - qpci->bus.has_buggy_msi = FALSE; + qpci->bus.has_buggy_msi = false; qpci->bus.pio_readb = qpci_pc_pio_readb; qpci->bus.pio_readw = qpci_pc_pio_readw; From c098aac7dcc6f7c359be15c88ee26a1da8735f3f Mon Sep 17 00:00:00 2001 From: Jafar Abdi Date: Sat, 23 Mar 2019 17:26:36 +0300 Subject: [PATCH 2/3] tests/libqos: fix usage of bool in pci-spapr.c Clean up wrong usage of FALSE and TRUE in places that use "bool" from stdbool.h. FALSE and TRUE (with capital letters) are the constants defined by glib for being used with the "gboolean" type of glib. But some parts of the code also use TRUE and FALSE for variables that are declared as "bool" (the type from ). Signed-off-by: Jafar Abdi Reviewed-by: Eric Blake Reviewed-by: Thomas Huth Acked-by: David Gibson Message-Id: <1553351197-14581-4-git-send-email-cafer.abdi@gmail.com> Signed-off-by: Thomas Huth --- tests/libqos/pci-spapr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/libqos/pci-spapr.c b/tests/libqos/pci-spapr.c index 6925925997..58ba27ae6d 100644 --- a/tests/libqos/pci-spapr.c +++ b/tests/libqos/pci-spapr.c @@ -156,7 +156,7 @@ void qpci_init_spapr(QPCIBusSPAPR *qpci, QTestState *qts, assert(qts); /* tests cannot use spapr, needs to be fixed first */ - qpci->bus.has_buggy_msi = TRUE; + qpci->bus.has_buggy_msi = true; qpci->alloc = alloc; From c19f2b711e15dac4c2cdbace2f8fb3a45fbed0d2 Mon Sep 17 00:00:00 2001 From: "Dr. David Alan Gilbert" Date: Fri, 5 Apr 2019 19:40:37 +0100 Subject: [PATCH 3/3] test qgraph.c: Fix segs due to out of scope default The test uses the trick: if (!opts) { opts = &(QOSGraph...Options) { }; } in a couple of places, however the temporary created by the &() {} goes out of scope at the bottom of the if, and results in a seg or assert when opts-> fields are used (on fedora 30's gcc 9). Fixes: fc281c802022cb3a73a5 Signed-off-by: Dr. David Alan Gilbert Reviewed-by: Eric Blake Message-Id: <20190405184037.16799-1-dgilbert@redhat.com> Signed-off-by: Thomas Huth --- tests/libqos/qgraph.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tests/libqos/qgraph.c b/tests/libqos/qgraph.c index 122efc1b7b..b149caaaa9 100644 --- a/tests/libqos/qgraph.c +++ b/tests/libqos/qgraph.c @@ -77,6 +77,7 @@ static void add_edge(const char *source, const char *dest, { char *key; QOSGraphEdgeList *list = g_hash_table_lookup(edge_table, source); + QOSGraphEdgeOptions def_opts = { }; if (!list) { list = g_new0(QOSGraphEdgeList, 1); @@ -85,7 +86,7 @@ static void add_edge(const char *source, const char *dest, } if (!opts) { - opts = &(QOSGraphEdgeOptions) { }; + opts = &def_opts; } QOSGraphEdge *edge = g_new0(QOSGraphEdge, 1); @@ -590,9 +591,10 @@ void qos_add_test(const char *name, const char *interface, { QOSGraphNode *node; char *test_name = g_strdup_printf("%s-tests/%s", interface, name);; + QOSGraphTestOptions def_opts = { }; if (!opts) { - opts = &(QOSGraphTestOptions) { }; + opts = &def_opts; } node = create_node(test_name, QNODE_TEST); node->u.test.function = test_func;