Details
Description
Mesos(master branch) failed with error C2276 when build with permissive- with MSVC, this should be source issue, the code is trying to use a member function of a dependent base class.
Noted that this issue only found when compiles with unreleased vctoolset, that next release of MSVC will have this behavior.
On line#528 and #529 of "D:\Mesos\src\3rdparty\libprocess\src\tests\benchmarks.cpp"
dispatch(self(), &Self::_handler).then(
defer(self(), &Self::handler<T>, data));
Should be
dispatch(this->self(), &Self::_handler).then(
defer(this->self(), &Self::handler<T>, data));
Failures like
D:\Mesos\src\3rdparty\libprocess\src\tests\benchmarks.cpp(566): error C2276: '&': illegal operation on bound member function expression
Environment:
VS2017 15.5.7 + windows server 2016
Repro steps:
- git clone -c core.autocrlf=true https://github.com/apache/mesos D:\mesos\src
- cd d:\mesos\src
- .\bootstrap.bat
- cd..
- set CL=/D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING /permissive-
- mkdir build_x64 && pushd build_x64
- cmake ..\src -G "Visual Studio 15 2017 Win64" -DCMAKE_SYSTEM_VERSION=10.0.16299.0 -DENABLE_LIBEVENT=1 -DHAS_AUTHENTICATION=0 -DPATCHEXE_PATH="C:\gnuwin32\bin" -T host=x64
- msbuild Mesos.sln /p:Configuration=Debug /p:Platform=x64 /maxcpucount:4 /t:Rebuild
Attachments
Attachments
Issue Links
- is duplicated by
-
MESOS-8915 Re-enable ProcessTest.Process_BENCHMARK_DispatchDefer on Windows
- Resolved