[Win] Use C++17 in MSVC
authorutatane.tea@gmail.com <utatane.tea@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 16 May 2018 17:50:38 +0000 (17:50 +0000)
committerutatane.tea@gmail.com <utatane.tea@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 16 May 2018 17:50:38 +0000 (17:50 +0000)
commit56431910cf05735501b6c7f1997ed2d8cf6caf9b
tree829e54fb039513f8ec880c721fe1e9528dfb6756
parent27b779f3ce8d68e21db8e6439b588f0e5b622993
[Win] Use C++17 in MSVC
https://bugs.webkit.org/show_bug.cgi?id=185232

Reviewed by Alex Christensen.

.:

Use /std:c++17 option.

* Source/cmake/OptionsMSVC.cmake:

Source/ThirdParty:

Use std::tuple instead of std::tr1::tuple since std::tr1::tuple is removed in C++17 MSVC.
In a subsequent patch, we will upgrade gtest too.

* gtest/include/gtest/internal/gtest-param-util-generated.h:
(testing::internal::CartesianProductHolder2::operator ParamGenerator< ::std::tuple<T1, T2> > const):
(testing::internal::CartesianProductHolder3::operator ParamGenerator< ::std::tuple<T1, T2, T3> > const):
(testing::internal::CartesianProductHolder4::operator ParamGenerator< ::std::tuple<T1, T2, T3, T4> > const):
(testing::internal::CartesianProductHolder5::operator ParamGenerator< ::std::tuple<T1, T2, T3, T4, T5> > const):
(testing::internal::CartesianProductHolder6::operator ParamGenerator< ::std::tuple<T1, T2, T3, T4, T5, T6> > const):
(testing::internal::CartesianProductHolder7:: const):
(testing::internal::CartesianProductHolder8:: const):
(testing::internal::CartesianProductHolder9:: const):
(testing::internal::CartesianProductHolder10:: const):
(testing::internal::CartesianProductHolder2::operator ParamGenerator< ::std::tr1::tuple<T1, T2> > const): Deleted.
(testing::internal::CartesianProductHolder3::operator ParamGenerator< ::std::tr1::tuple<T1, T2, T3> > const): Deleted.
(testing::internal::CartesianProductHolder4::operator ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4> > const): Deleted.
(testing::internal::CartesianProductHolder5::operator ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4, T5> > const): Deleted.
(testing::internal::CartesianProductHolder6::operator ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4, T5, T6> > const): Deleted.
* gtest/include/gtest/internal/gtest-tuple.h:

Source/WebCore:

Workaround for MSVC + /std:c++17.

* Modules/geolocation/Coordinates.h:
(WebCore::Coordinates::isolatedCopy const):

Source/WTF:

Disable some WebKit defined C++17 features for MSVC.

* wtf/StdLibExtras.h:

Tools:

Do not use `using namespace std;`. In C++17, we have std::byte. This "byte"
conflicts with ::byte defined in Windows' header.

* DumpRenderTree/TestNetscapePlugIn/win/WindowedPluginTest.cpp:
(WindowedPluginTest::WindowedPluginTest):
* DumpRenderTree/win/AccessibilityControllerWin.cpp:
(logEventProc):
(stringEvent):
(AccessibilityController::winNotificationReceived):
* DumpRenderTree/win/TextInputController.cpp:
(markedRangeCallback):
(firstRectForCharacterRangeCallback):
(selectedRangeCallback):
* DumpRenderTree/win/TextInputController.h:
* DumpRenderTree/win/TextInputControllerWin.cpp:
(TextInputController::markedRange):
(TextInputController::firstRectForCharacterRange):
(TextInputController::selectedRange):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@231852 268f45cc-cd09-0410-ab3c-d52691b4dbfc
15 files changed:
ChangeLog
Source/ThirdParty/ChangeLog
Source/ThirdParty/gtest/include/gtest/internal/gtest-param-util-generated.h
Source/ThirdParty/gtest/include/gtest/internal/gtest-tuple.h
Source/WTF/ChangeLog
Source/WTF/wtf/StdLibExtras.h
Source/WebCore/ChangeLog
Source/WebCore/Modules/geolocation/Coordinates.h
Source/cmake/OptionsMSVC.cmake
Tools/ChangeLog
Tools/DumpRenderTree/TestNetscapePlugIn/win/WindowedPluginTest.cpp
Tools/DumpRenderTree/win/AccessibilityControllerWin.cpp
Tools/DumpRenderTree/win/TextInputController.cpp
Tools/DumpRenderTree/win/TextInputController.h
Tools/DumpRenderTree/win/TextInputControllerWin.cpp