Hi,
> thanks for the patches!
> (feel free to ping directly in case of RC bug fixes if you need a sponsor!)
> 
at the end I'm uploading it with a new couple of casts (and patches forwarded 
upstream).

I hope I did the cast correctly, the build is fine now.


G.
diff -Nru z3-4.4.1/debian/changelog z3-4.4.1/debian/changelog
--- z3-4.4.1/debian/changelog   2016-07-20 13:07:58.000000000 +0200
+++ z3-4.4.1/debian/changelog   2016-09-26 07:28:12.000000000 +0200
@@ -1,3 +1,19 @@
+z3 (4.4.1-0.3) unstable; urgency=medium
+
+  * Non-maintainer upload.
+
+  [ Fabian Wolff ]
+  * debian/patches/f02d273ee39ae047222e362c37213d29135dc661.patch:
+    Fix build failure with new gnu++14 standard. (Closes: #835754)
+  * debian/patches/27399309009314f56cdfbd8333f287b1a9b7a3a6.patch:
+    Fix build failure with new compiler and clang. (Closes: #835743)
+
+  [ Gianfranco Costamagna ]
+  * debian/patches/fix-build.patch: tweak the casts a little bit
+    more to really fix 835743.
+
+ -- Gianfranco Costamagna <locutusofb...@debian.org>  Sun, 25 Sep 2016 
23:06:24 +0200
+
 z3 (4.4.1-0.2) unstable; urgency=medium
 
   * Non-maintainer upload.
diff -Nru 
z3-4.4.1/debian/patches/27399309009314f56cdfbd8333f287b1a9b7a3a6.patch 
z3-4.4.1/debian/patches/27399309009314f56cdfbd8333f287b1a9b7a3a6.patch
--- z3-4.4.1/debian/patches/27399309009314f56cdfbd8333f287b1a9b7a3a6.patch      
1970-01-01 01:00:00.000000000 +0100
+++ z3-4.4.1/debian/patches/27399309009314f56cdfbd8333f287b1a9b7a3a6.patch      
2016-09-25 23:46:37.000000000 +0200
@@ -0,0 +1,23 @@
+From 27399309009314f56cdfbd8333f287b1a9b7a3a6 Mon Sep 17 00:00:00 2001
+From: Nuno Lopes <nlo...@microsoft.com>
+Date: Fri, 27 Nov 2015 12:13:44 +0000
+Subject: [PATCH] fix build with clang
+
+Signed-off-by: Nuno Lopes <nlo...@microsoft.com>
+---
+ src/util/mpz.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/util/mpz.cpp b/src/util/mpz.cpp
+index 8559279..7dca14b 100644
+--- a/src/util/mpz.cpp
++++ b/src/util/mpz.cpp
+@@ -134,7 +134,7 @@ mpz_manager<SYNCH>::mpz_manager():
+ #endif
+     
+     mpz one(1);
+-    set(m_two64, UINT64_MAX);
++    set(m_two64, (uint64)UINT64_MAX);
+     add(m_two64, one, m_two64);
+ }
+ 
diff -Nru 
z3-4.4.1/debian/patches/f02d273ee39ae047222e362c37213d29135dc661.patch 
z3-4.4.1/debian/patches/f02d273ee39ae047222e362c37213d29135dc661.patch
--- z3-4.4.1/debian/patches/f02d273ee39ae047222e362c37213d29135dc661.patch      
1970-01-01 01:00:00.000000000 +0100
+++ z3-4.4.1/debian/patches/f02d273ee39ae047222e362c37213d29135dc661.patch      
2016-09-25 23:46:37.000000000 +0200
@@ -0,0 +1,23 @@
+From f02d273ee39ae047222e362c37213d29135dc661 Mon Sep 17 00:00:00 2001
+From: Jonathan Wakely <git...@kayari.org>
+Date: Tue, 2 Feb 2016 23:39:11 +0000
+Subject: [PATCH] Convert stream to bool explicitly
+
+In C++11 there is no implicit conversion from iostream classes to `void*`, 
just an explicit conversion to bool.
+---
+ src/util/debug.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/util/debug.cpp b/src/util/debug.cpp
+index 54c67fe..66676c6 100644
+--- a/src/util/debug.cpp
++++ b/src/util/debug.cpp
+@@ -76,7 +76,7 @@ void invoke_gdb() {
+     for (;;) {
+         std::cerr << "(C)ontinue, (A)bort, (S)top, (T)hrow exception, Invoke 
(G)DB\n";
+         char result;
+-        bool ok = (std::cin >> result);
++        bool ok = bool(std::cin >> result);
+         if (!ok) exit(ERR_INTERNAL_FATAL); // happens if std::cin is eof or 
unattached.
+         switch(result) {
+         case 'C':
diff -Nru z3-4.4.1/debian/patches/fix-build.patch 
z3-4.4.1/debian/patches/fix-build.patch
--- z3-4.4.1/debian/patches/fix-build.patch     1970-01-01 01:00:00.000000000 
+0100
+++ z3-4.4.1/debian/patches/fix-build.patch     2016-09-26 08:08:19.000000000 
+0200
@@ -0,0 +1,53 @@
+Author: Gianfranco Costamagna <locutusofb...@debian.org>
+Description: Add some more casts to fix the build (Bug: #835743)
+Forwarded: https://github.com/Z3Prover/z3/pull/746
+           https://github.com/Z3Prover/z3/pull/747
+--- z3-4.4.1.orig/src/test/mpff.cpp
++++ z3-4.4.1/src/test/mpff.cpp
+@@ -207,7 +207,7 @@ static void tst_set64(unsigned N, unsign
+     mpff_manager fm(prec);
+     scoped_mpff a(fm);
+ 
+-    fm.set(a, INT64_MAX);
++    fm.set(a, static_cast<int64>(INT64_MAX));
+     SASSERT(fm.is_int64(a));
+     SASSERT(fm.is_uint64(a));
+     fm.inc(a);
+@@ -221,7 +221,7 @@ static void tst_set64(unsigned N, unsign
+     SASSERT(fm.is_int64(a));
+     SASSERT(fm.is_uint64(a));
+ 
+-    fm.set(a, INT64_MIN);
++    fm.set(a, static_cast<int64>(INT64_MIN));
+     SASSERT(fm.is_int64(a));
+     SASSERT(!fm.is_uint64(a));
+     fm.dec(a);
+@@ -235,7 +235,7 @@ static void tst_set64(unsigned N, unsign
+     SASSERT(fm.is_int64(a));
+     SASSERT(!fm.is_uint64(a));
+ 
+-    fm.set(a, UINT64_MAX);
++    fm.set(a, static_cast<uint64>(UINT64_MAX));
+     SASSERT(fm.is_uint64(a));
+     SASSERT(!fm.is_int64(a));
+     fm.inc(a);
+@@ -600,7 +600,7 @@ static void tst_div(unsigned prec) {
+     scoped_mpff a(m), b(m), c(m);
+     m.round_to_plus_inf();
+     m.set(a, 1);
+-    m.set(b, UINT64_MAX);
++    m.set(b, static_cast<uint64>(UINT64_MAX));
+     m.div(a, b, c);
+     m.display_raw(std::cout, a); std::cout << "\n";
+     m.display_raw(std::cout, b); std::cout << "\n";
+--- z3-4.4.1.orig/src/test/mpz.cpp
++++ z3-4.4.1/src/test/mpz.cpp
+@@ -280,7 +280,7 @@ void tst_int_min_bug() {
+     mpz big;
+     mpz expected;
+     mpz r;
+-    m.set(big, UINT64_MAX);
++    m.set(big, static_cast<uint64>(UINT64_MAX));
+     m.set(expected, "18446744075857035263");
+     m.sub(big, intmin, r);
+     std::cout << "r: " << m.to_string(r) << "\nexpected: " << 
m.to_string(expected) << "\n";
diff -Nru z3-4.4.1/debian/patches/series z3-4.4.1/debian/patches/series
--- z3-4.4.1/debian/patches/series      2016-07-20 13:07:58.000000000 +0200
+++ z3-4.4.1/debian/patches/series      2016-09-26 07:25:29.000000000 +0200
@@ -6,3 +6,6 @@
 typos.patch
 hardening.patch
 kfreebsd.patch
+f02d273ee39ae047222e362c37213d29135dc661.patch
+27399309009314f56cdfbd8333f287b1a9b7a3a6.patch
+fix-build.patch

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to