WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
233448
[CMake][MSVC] Compile with /permissive-
https://bugs.webkit.org/show_bug.cgi?id=233448
Summary
[CMake][MSVC] Compile with /permissive-
Don Olmstead
Reported
2021-11-23 09:04:07 PST
It provides better C++ conformance and will be turned on when compiling C++20.
Attachments
WIP Patch
(6.05 KB, patch)
2021-11-23 09:26 PST
,
Don Olmstead
no flags
Details
Formatted Diff
Diff
Patch
(1.83 KB, patch)
2021-12-21 22:48 PST
,
Fujii Hironori
no flags
Details
Formatted Diff
Diff
Patch
(1.77 KB, patch)
2022-01-05 15:56 PST
,
Fujii Hironori
fujii.hironori
: commit-queue-
Details
Formatted Diff
Diff
Show Obsolete
(2)
View All
Add attachment
proposed patch, testcase, etc.
Don Olmstead
Comment 1
2021-11-23 09:26:30 PST
Created
attachment 445038
[details]
WIP Patch
EWS Watchlist
Comment 2
2021-11-23 09:27:42 PST
Note that there are important steps to take when updating ANGLE. See
https://trac.webkit.org/wiki/UpdatingANGLE
Fujii Hironori
Comment 3
2021-12-20 21:40:48 PST
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
Fujii Hironori
Comment 4
2021-12-21 22:48:09 PST
Created
attachment 447783
[details]
Patch
Fujii Hironori
Comment 5
2021-12-21 23:39:19 PST
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.
Fujii Hironori
Comment 6
2022-01-04 11:50:12 PST
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'
Fujii Hironori
Comment 7
2022-01-04 12:11:52 PST
I downgraded Windows 10 SDK to 10.0.17763.0 locally. It can reproduce the same error.
Stephan Szabo
Comment 8
2022-01-05 07:39:10 PST
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.
Fujii Hironori
Comment 9
2022-01-05 15:56:16 PST
Created
attachment 448447
[details]
Patch
Fujii Hironori
Comment 10
2022-01-06 12:00:56 PST
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-
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug