You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@mesos.apache.org by "Gavin (JIRA)" <ji...@apache.org> on 2019/04/29 09:28:01 UTC
[jira] [Issue Comment Deleted] (MESOS-9718) Compile failures with
char8_t by MSVC under /std:c++latest(C++20) mode
[ https://issues.apache.org/jira/browse/MESOS-9718?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gavin updated MESOS-9718:
-------------------------
Comment: was deleted
(was: www.rtat.net)
> Compile failures with char8_t by MSVC under /std:c++latest(C++20) mode
> ----------------------------------------------------------------------
>
> Key: MESOS-9718
> URL: https://issues.apache.org/jira/browse/MESOS-9718
> Project: Mesos
> Issue Type: Bug
> Components: build
> Reporter: QuellaZhang
> Priority: Major
> Labels: windows
> Attachments: mesos.patch.txt
>
>
> Hi All,
> We've stumbled across some build failures in Mesos after implementing support for char8_t under /std:c + + +latest in the development version of Visual C+ + +. Could you help look at this? Thanks in advance! Noted that this issue only found when compiles with unreleased vctoolset, that next release of MSVC will have this behavior.
> *Repro steps:*
> git clone -c core.autocrlf=true [https://github.com/apache/mesos] D:\mesos\src
> open a VS 2017 x64 command prompt as admin and browse to D:\mesos
> set _CL_=/std:c++latest
> cd src
> .\bootstrap.bat
> cd ..
> mkdir build_x64 && pushd build_x64
> cmake ..\src -G "Visual Studio 15 2017 Win64" -DCMAKE_SYSTEM_VERSION=10.0.17134.0 -DENABLE_LIBEVENT=1 -DHAS_AUTHENTICATION=0 -DPATCHEXE_PATH="C:\gnuwin32\bin" -T host=x64
> *Failures:*
> base64_tests.i
> D:\Mesos\src\3rdparty\stout\tests\base64_tests.cpp(63): error C2664: 'std::string base64::encode_url_safe(const std::string &,bool)': cannot convert argument 1 from 'const char8_t [12]' to 'const std::string &'
> D:\Mesos\src\3rdparty\stout\tests\base64_tests.cpp(63): note: Reason: cannot convert from 'const char8_t [12]' to 'const std::string'
> D:\Mesos\src\3rdparty\stout\tests\base64_tests.cpp(63): note: No constructor could take the source type, or constructor overload resolution was ambiguous
> D:\Mesos\src\3rdparty\stout\tests\base64_tests.cpp(63): error C2660: 'testing::internal::EqHelper<false>::Compare': function does not take 3 arguments
> D:\Mesos\build_x64\3rdparty\googletest-1.8.0\src\googletest-1.8.0\googletest\include\gtest/gtest.h(1430): note: see declaration of 'testing::internal::EqHelper<false>::Compare'
> D:\Mesos\src\3rdparty\stout\tests\base64_tests.cpp(63): error C2512: 'testing::AssertionResult': no appropriate default constructor available
> D:\Mesos\build_x64\3rdparty\googletest-1.8.0\src\googletest-1.8.0\googletest\include\gtest/gtest.h(256): note: see declaration of 'testing::AssertionResult'
> D:\Mesos\src\3rdparty\stout\tests\base64_tests.cpp(67): error C2664: 'std::string base64::encode_url_safe(const std::string &,bool)': cannot convert argument 1 from 'const char8_t [12]' to 'const std::string &'
> D:\Mesos\src\3rdparty\stout\tests\base64_tests.cpp(67): note: Reason: cannot convert from 'const char8_t [12]' to 'const std::string'
> D:\Mesos\src\3rdparty\stout\tests\base64_tests.cpp(67): note: No constructor could take the source type, or constructor overload resolution was ambiguous
> D:\Mesos\src\3rdparty\stout\tests\base64_tests.cpp(67): error C2660: 'testing::internal::EqHelper<false>::Compare': function does not take 3 arguments
> D:\Mesos\build_x64\3rdparty\googletest-1.8.0\src\googletest-1.8.0\googletest\include\gtest/gtest.h(1430): note: see declaration of 'testing::internal::EqHelper<false>::Compare'
> D:\Mesos\src\3rdparty\stout\tests\base64_tests.cpp(67): error C2512: 'testing::AssertionResult': no appropriate default constructor available
> D:\Mesos\build_x64\3rdparty\googletest-1.8.0\src\googletest-1.8.0\googletest\include\gtest/gtest.h(256): note: see declaration of 'testing::AssertionResult'
> D:\Mesos\src\3rdparty\stout\tests\base64_tests.cpp(83): error C2664: 'Try<std::string,Error> base64::decode_url_safe(const std::string &)': cannot convert argument 1 from 'const char8_t [16]' to 'const std::string &'
> D:\Mesos\src\3rdparty\stout\tests\base64_tests.cpp(83): note: Reason: cannot convert from 'const char8_t [16]' to 'const std::string'
> D:\Mesos\src\3rdparty\stout\tests\base64_tests.cpp(83): note: No constructor could take the source type, or constructor overload resolution was ambiguous
> D:\Mesos\src\3rdparty\stout\tests\base64_tests.cpp(83): error C2672: 'AssertSomeEq': no matching overloaded function found
> D:\Mesos\src\3rdparty\stout\tests\base64_tests.cpp(83): error C2780: 'testing::AssertionResult AssertSomeEq(const char *,const char *,const T1 &,const T2 &)': expects 4 arguments - 3 provided
> D:\Mesos\src\3rdparty\stout\include\stout/gtest.hpp(79): note: see declaration of 'AssertSomeEq'
> D:\Mesos\src\3rdparty\stout\tests\base64_tests.cpp(83): error C2512: 'testing::AssertionResult': no appropriate default constructor available
> D:\Mesos\build_x64\3rdparty\googletest-1.8.0\src\googletest-1.8.0\googletest\include\gtest/gtest.h(256): note: see declaration of 'testing::AssertionResult'
> D:\Mesos\src\3rdparty\stout\tests\base64_tests.cpp(87): error C2664: 'Try<std::string,Error> base64::decode_url_safe(const std::string &)': cannot convert argument 1 from 'const char8_t [17]' to 'const std::string &'
> D:\Mesos\src\3rdparty\stout\tests\base64_tests.cpp(87): note: Reason: cannot convert from 'const char8_t [17]' to 'const std::string'
> D:\Mesos\src\3rdparty\stout\tests\base64_tests.cpp(87): note: No constructor could take the source type, or constructor overload resolution was ambiguous
> D:\Mesos\src\3rdparty\stout\tests\base64_tests.cpp(87): error C2672: 'AssertSomeEq': no matching overloaded function found
> D:\Mesos\src\3rdparty\stout\tests\base64_tests.cpp(87): error C2780: 'testing::AssertionResult AssertSomeEq(const char *,const char *,const T1 &,const T2 &)': expects 4 arguments - 3 provided
> D:\Mesos\src\3rdparty\stout\include\stout/gtest.hpp(79): note: see declaration of 'AssertSomeEq'
> D:\Mesos\src\3rdparty\stout\tests\base64_tests.cpp(87): error C2512: 'testing::AssertionResult': no appropriate default constructor available
> D:\Mesos\build_x64\3rdparty\googletest-1.8.0\src\googletest-1.8.0\googletest\include\gtest/gtest.h(256): note: see declaration of 'testing::AssertionResult'
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)