Clang couldn't quite see that the same condition of
(flags & VIR_DOMAIN_MEM_CONFIG) is used twice, such that
the second block is guaranteed that def was assigned in
the first block.
* src/libxl/libxl_driver.c (libxlDomainSetMemoryFlags): Add a hint
for clang.
---
v2: no change from v1
v1:
https://www.redhat.com/archives/libvir-list/2011-May/msg00726.html
src/libxl/libxl_driver.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c
index 5cc9362..6226a49 100644
--- a/src/libxl/libxl_driver.c
+++ b/src/libxl/libxl_driver.c
@@ -1535,6 +1535,8 @@ libxlDomainSetMemoryFlags(virDomainPtr dom, unsigned long memory,
ret = 0;
if (flags & VIR_DOMAIN_MEM_CONFIG) {
+ /* clang 2.9 needs an extra hint. */
+ sa_assert(def);
def->mem.cur_balloon = memory;
ret = virDomainSaveConfig(driver->configDir, def);
}
--
1.7.4.4