Control: tags = patch fixed-upstream

Hi,

the issue here is that GCC 6 defaults to -std=gnu++14. Since C++11,
std::basic_ios no longer provides an implicit void* operator but only
an explicit bool operator. Therefore, the problem can be fixed with
this patch:

--- a/src/util/debug.cpp
+++ b/src/util/debug.cpp
@@ -76,7 +76,7 @@
     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':

Reference: http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool

This was fixed in the upstream repository by this commit:

  https://github.com/Z3Prover/z3/commit/f02d273ee39ae047222e362c37213d29135dc661

Kind regards,
Fabian

Attachment: signature.asc
Description: PGP signature

Reply via email to