[libvirt] [PATCH 3/8] build: disable -Wdouble-promotion

Ján Tomko jtomko at redhat.com
Wed Jun 29 13:53:56 UTC 2016


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




More information about the libvir-list mailing list