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 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list