You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by mp...@apache.org on 2017/02/17 23:31:52 UTC
mesos git commit: Fixed compilation on VS 2017.
Repository: mesos
Updated Branches:
refs/heads/master 881fc7af9 -> 25cd4e5ec
Fixed compilation on VS 2017.
Review: https://reviews.apache.org/r/56781
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/25cd4e5e
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/25cd4e5e
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/25cd4e5e
Branch: refs/heads/master
Commit: 25cd4e5ec5a1e67874a35ff37f262911b2cf3508
Parents: 881fc7a
Author: Michael Park <mp...@apache.org>
Authored: Thu Feb 16 16:01:50 2017 -0800
Committer: Michael Park <mp...@apache.org>
Committed: Fri Feb 17 15:22:54 2017 -0800
----------------------------------------------------------------------
3rdparty/libprocess/include/process/future.hpp | 11 +++++++++++
1 file changed, 11 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/25cd4e5e/3rdparty/libprocess/include/process/future.hpp
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/include/process/future.hpp b/3rdparty/libprocess/include/process/future.hpp
index 819ee5c..ec7ef22 100644
--- a/3rdparty/libprocess/include/process/future.hpp
+++ b/3rdparty/libprocess/include/process/future.hpp
@@ -396,9 +396,20 @@ private:
}
public:
+ // NOTE: There are two bugs we're dealing with here.
+ // (1) GCC bug where the explicit use of `this->` is required in the
+ // trailing return type: gcc.gnu.org/bugzilla/show_bug.cgi?id=57543
+ // (2) VS 2017 RC bug where the explicit use of `this->` is disallowed.
+ //
+ // Since VS 2015 and 2017 RC both implement C++14's deduced return type for
+ // functions, we simply choose to use that on Windows.
+ //
+ // TODO(mpark): Remove the trailing return type once we get to C++14.
template <typename F>
auto then(F&& f) const
+#ifndef __WINDOWS__
-> decltype(this->then(std::forward<F>(f), Prefer()))
+#endif // __WINDOWS__
{
return then(std::forward<F>(f), Prefer());
}