Summary: | [CMake][MSVC] Compile with /permissive- | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Don Olmstead <don.olmstead> | ||||||||
Component: | CMake | Assignee: | Fujii Hironori <Hironori.Fujii> | ||||||||
Status: | RESOLVED FIXED | ||||||||||
Severity: | Normal | CC: | annulen, dino, ews-watchlist, fmalita, gyuyoung.kim, Hironori.Fujii, kbr, kondapallykalyan, pdr, ryuan.choi, sabouhallawa, schenney, sergio, stephan.szabo | ||||||||
Priority: | P2 | ||||||||||
Version: | WebKit Nightly Build | ||||||||||
Hardware: | Unspecified | ||||||||||
OS: | Unspecified | ||||||||||
Bug Depends on: | 234498, 234501, 234503, 234504, 234505, 234546 | ||||||||||
Bug Blocks: | 233963 | ||||||||||
Attachments: |
|
Description
Don Olmstead
2021-11-23 09:04:07 PST
Created attachment 445038 [details]
WIP Patch
Note that there are important steps to take when updating ANGLE. See https://trac.webkit.org/wiki/UpdatingANGLE I'm going to fix the compilation errors in sub tickets. However, there are more warnings C5054 and C5055. I think we shoud suppress them. Source\WebCore\rendering\style\RenderStyleConstants.h(1093): warning C5054: operator '|': deprecated between enumerations of different types Source\WebCore\rendering\style\RenderStyleConstants.h(1094): warning C5054: operator '|': deprecated between enumerations of different types Source\WebCore\rendering\style\RenderStyleConstants.h(1095): warning C5054: operator '|': deprecated between enumerations of different types Source\WebCore\rendering\style\RenderStyleConstants.h(1096): warning C5054: operator '|': deprecated between enumerations of different types Source\ThirdParty\ANGLE\src\libANGLE/Program.h(755): warning C5054: operator '+': deprecated between enumerations of different types Source\ThirdParty\ANGLE\src\libANGLE/VertexArray.h(145): warning C5054: operator '+': deprecated between enumerations of different types Source\ThirdParty\ANGLE\src\libANGLE/VertexArray.h(149): warning C5054: operator '+': deprecated between enumerations of different types Source\ThirdParty\ANGLE\src\libANGLE/VertexArray.h(153): warning C5054: operator '+': deprecated between enumerations of different types Source\WebCore\platform\graphics\nicosia\NicosiaAnimation.cpp(232): warning C5055: operator '!=': deprecated between enumerations and floating-point types Source\WebCore\animation/CSSAnimation.cpp(103): warning C5055: operator '==': deprecated between enumerations and floating-point types Source\WebCore\css/CSSComputedStyleDeclaration.cpp(3568): warning C5055: operator '==': deprecated between enumerations and floating-point types Source\WebCore\dom/ViewportArguments.cpp(48): warning C5055: operator '!=': deprecated between enumerations and floating-point types Source\WebCore\dom/ViewportArguments.cpp(50): warning C5055: operator '==': deprecated between enumerations and floating-point types Source\WebCore\dom/ViewportArguments.cpp(53): warning C5055: operator '==': deprecated between enumerations and floating-point types Source\WebCore\dom/ViewportArguments.cpp(61): warning C5055: operator '!=': deprecated between enumerations and floating-point types Source\WebCore\dom/ViewportArguments.cpp(62): warning C5055: operator '!=': deprecated between enumerations and floating-point types Source\WebCore\dom/ViewportArguments.cpp(65): warning C5055: operator '!=': deprecated between enumerations and floating-point types Source\WebCore\dom/ViewportArguments.cpp(72): warning C5055: operator '!=': deprecated between enumerations and floating-point types Source\WebCore\dom/ViewportArguments.cpp(73): warning C5055: operator '!=': deprecated between enumerations and floating-point types Source\WebCore\dom/ViewportArguments.cpp(76): warning C5055: operator '!=': deprecated between enumerations and floating-point types Source\WebCore\dom/ViewportArguments.cpp(148): warning C5055: operator '!=': deprecated between enumerations and floating-point types Source\WebCore\dom/ViewportArguments.cpp(148): warning C5055: operator '!=': deprecated between enumerations and floating-point types Source\WebCore\dom/ViewportArguments.cpp(151): warning C5055: operator '!=': deprecated between enumerations and floating-point types Source\WebCore\dom/ViewportArguments.cpp(151): warning C5055: operator '!=': deprecated between enumerations and floating-point types Source\WebCore\dom/ViewportArguments.cpp(154): warning C5055: operator '!=': deprecated between enumerations and floating-point types Source\WebCore\dom/ViewportArguments.cpp(154): warning C5055: operator '!=': deprecated between enumerations and floating-point types Source\WebCore\dom/ViewportArguments.cpp(157): warning C5055: operator '!=': deprecated between enumerations and floating-point types Source\WebCore\dom/ViewportArguments.cpp(160): warning C5055: operator '==': deprecated between enumerations and floating-point types Source\WebCore\dom/ViewportArguments.cpp(160): warning C5055: operator '==': deprecated between enumerations and floating-point types Source\WebCore\dom/ViewportArguments.cpp(163): warning C5055: operator '==': deprecated between enumerations and floating-point types Source\WebCore\dom/ViewportArguments.cpp(163): warning C5055: operator '==': deprecated between enumerations and floating-point types Source\WebCore\dom/ViewportArguments.cpp(166): warning C5055: operator '==': deprecated between enumerations and floating-point types Source\WebCore\dom/ViewportArguments.cpp(169): warning C5055: operator '==': deprecated between enumerations and floating-point types Source\WebCore\dom/ViewportArguments.cpp(172): warning C5055: operator '!=': deprecated between enumerations and floating-point types Source\WebCore\dom/ViewportArguments.cpp(172): warning C5055: operator '!=': deprecated between enumerations and floating-point types Source\WebCore\dom/ViewportArguments.cpp(194): warning C5055: operator '==': deprecated between enumerations and floating-point types Source\WebCore\dom/ViewportArguments.cpp(199): warning C5055: operator '==': deprecated between enumerations and floating-point types Source\WebCore\dom/ViewportArguments.cpp(208): warning C5055: operator '==': deprecated between enumerations and floating-point types Source\WebCore\dom/ViewportArguments.cpp(210): warning C5055: operator '!=': deprecated between enumerations and floating-point types Source\WebCore\dom/ViewportArguments.cpp(212): warning C5055: operator '!=': deprecated between enumerations and floating-point types Source\WebCore\dom/ViewportArguments.cpp(222): warning C5055: operator '==': deprecated between enumerations and floating-point types Source\WebCore\dom/ViewportArguments.cpp(223): warning C5055: operator '==': deprecated between enumerations and floating-point types Source\WebCore\dom/ViewportArguments.cpp(225): warning C5055: operator '!=': deprecated between enumerations and floating-point types Source\WebCore\dom/ViewportArguments.cpp(232): warning C5055: operator '==': deprecated between enumerations and floating-point types Source\WebCore\dom/WheelEvent.cpp(64): warning C5055: operator '*': deprecated between enumerations and floating-point types Source\WebCore\dom/WheelEvent.cpp(64): warning C5055: operator '*': deprecated between enumerations and floating-point types Created attachment 447783 [details]
Patch
WinCairo EWS failed to compile. FAILED: Source/ThirdParty/ANGLE/CMakeFiles/ANGLE.dir/src/common/MemoryBuffer.cpp.obj C:\MSVS\VC\Tools\MSVC\14.28.29910\bin\Hostx64\x64\cl.exe (...) ..\..\Source\ThirdParty\ANGLE\src\common\MemoryBuffer.cpp C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\winrt\wrl\module.h(1427): error C2039: 'CheckForDuplicateEntries': is not a member of 'Microsoft::WRL::Details' C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\winrt\wrl\module.h(1393): note: see declaration of 'Microsoft::WRL::Details' C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\winrt\wrl\module.h(1540): note: see reference to class template instantiation 'Microsoft::WRL::Module<Microsoft::WRL::InProc,ModuleT>' being compiled C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\winrt\wrl\module.h(1433): error C2039: 'CheckForDuplicateEntries': is not a member of 'Microsoft::WRL::Details' C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\winrt\wrl\module.h(1393): note: see declaration of 'Microsoft::WRL::Details' I don't see such error on my env. I'm using Visual Studio 2019 16.11.8. Oh, no. WinCairo EWS is still failing after updating. FAILED: Source/ThirdParty/ANGLE/CMakeFiles/ANGLE.dir/src/compiler/translator/ValidateMaxParameters.cpp.obj C:\MSVS\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64\cl.exe (...) C:\BW\WinCairo-EWS\build\Source\ThirdParty\ANGLE\src\compiler\translator\ValidateMaxParameters.cpp C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\winrt\wrl\module.h(1427): error C2039: 'CheckForDuplicateEntries': is not a member of 'Microsoft::WRL::Details' C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\winrt\wrl\module.h(1393): note: see declaration of 'Microsoft::WRL::Details' C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\winrt\wrl\module.h(1540): note: see reference to class template instantiation 'Microsoft::WRL::Module<Microsoft::WRL::InProc,ModuleT>' being compiled C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\winrt\wrl\module.h(1433): error C2039: 'CheckForDuplicateEntries': is not a member of 'Microsoft::WRL::Details' C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\winrt\wrl\module.h(1393): note: see declaration of 'Microsoft::WRL::Details' I downgraded Windows 10 SDK to 10.0.17763.0 locally. It can reproduce the same error. It appears to have built with test image using 18362, but I need to check that the update works okay on the non-ews builder and tester. Created attachment 448447 [details]
Patch
Bug 233963 turned C++20 on. We no longer need to explicitly set /permissive-. Closed. I'm going to suppress the warnings in another bug: Bug 234929 – [MSVC] Suppress new warnings C5054 and C5055 introduced by /permissive- |