summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Seifert <soap@gentoo.org>2016-09-18 15:07:37 +0200
committerDavid Seifert <soap@gentoo.org>2016-09-18 15:08:10 +0200
commitcf1f89cf9056c80498a07796b28092671688d316 (patch)
tree011e9a34ceba9522b4086d60f453e4925ad5f888 /net-libs/wvstreams/files/wvstreams-4.6.1-fix-c++14.patch
parentapp-i18n/libtomoe-gtk: Cleanup metadata (diff)
downloadgentoo-cf1f89cf9056c80498a07796b28092671688d316.tar.gz
gentoo-cf1f89cf9056c80498a07796b28092671688d316.tar.bz2
gentoo-cf1f89cf9056c80498a07796b28092671688d316.zip
net-libs/wvstreams: Allow for compiling with GCC 6
Gentoo-bug: 594058 * Add missing slot operators Package-Manager: portage-2.3.0
Diffstat (limited to 'net-libs/wvstreams/files/wvstreams-4.6.1-fix-c++14.patch')
-rw-r--r--net-libs/wvstreams/files/wvstreams-4.6.1-fix-c++14.patch36
1 files changed, 36 insertions, 0 deletions
diff --git a/net-libs/wvstreams/files/wvstreams-4.6.1-fix-c++14.patch b/net-libs/wvstreams/files/wvstreams-4.6.1-fix-c++14.patch
new file mode 100644
index 000000000000..b2c2efd56248
--- /dev/null
+++ b/net-libs/wvstreams/files/wvstreams-4.6.1-fix-c++14.patch
@@ -0,0 +1,36 @@
+Fix building with C++14, which errors out due to explicit operator bool() conversion
+See also: https://bugs.gentoo.org/show_bug.cgi?id=594058
+
+--- a/streams/wvstream.cc
++++ b/streams/wvstream.cc
+@@ -907,9 +907,9 @@
+
+ if (forceable)
+ {
+- si.wants.readable = readcb;
+- si.wants.writable = writecb;
+- si.wants.isexception = exceptcb;
++ si.wants.readable = static_cast<bool>(readcb);
++ si.wants.writable = static_cast<bool>(writecb);
++ si.wants.isexception = static_cast<bool>(exceptcb);
+ }
+ else
+ {
+@@ -1019,7 +1019,7 @@
+
+ IWvStream::SelectRequest WvStream::get_select_request()
+ {
+- return IWvStream::SelectRequest(readcb, writecb, exceptcb);
++ return IWvStream::SelectRequest(static_cast<bool>(readcb), static_cast<bool>(writecb), static_cast<bool>(exceptcb));
+ }
+
+
+@@ -1107,7 +1107,7 @@
+ // inefficient, because if the alarm was expired then pre_select()
+ // returned true anyway and short-circuited the previous select().
+ TRACE("hello-%p\n", this);
+- return !alarm_was_ticking || select(0, readcb, writecb, exceptcb);
++ return !alarm_was_ticking || select(0, static_cast<bool>(readcb), static_cast<bool>(writecb), static_cast<bool>(exceptcb));
+ }
+
+