This causes problem with clang 3.8 and the isnan macro:
util/virxml.c:153:166: error: implicit conversion increases
floating-point precision: 'double' to 'long double'
[-Werror,-Wdouble-promotion]
((sizeof (obj->floatval) == sizeof (float) ? __isnanf
(obj->floatval) : sizeof (obj->floatval) == sizeof (double) ?
__isnan (obj->floatval) : __isnanl (obj->floatval)))) {
Disable it since we don't really care about performance
on single-precision FPUs.
---
m4/virt-compile-warnings.m4 | 2 ++
1 file changed, 2 insertions(+)
diff --git a/m4/virt-compile-warnings.m4 b/m4/virt-compile-warnings.m4
index eb689e2..b622e22 100644
--- a/m4/virt-compile-warnings.m4
+++ b/m4/virt-compile-warnings.m4
@@ -61,6 +61,8 @@ AC_DEFUN([LIBVIRT_COMPILE_WARNINGS],[
dontwarn="$dontwarn -Wenum-compare"
# gcc 5.1 -Wformat-signedness mishandles enums, not ready for prime time
dontwarn="$dontwarn -Wformat-signedness"
+ # clang 3.8 has problem understanding the isnan macro
+ dontwarn="$dontwarn -Wdouble-promotion"
# gcc 4.2 treats attribute(format) as an implicit attribute(nonnull),
# which triggers spurious warnings for our usage
--
2.7.3