[Webkit-unassigned] [Bug 226070] New: [MSVC] The "/Zc:lambda" switch is recommended to use the new lambda processor.
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Fri May 21 00:04:10 PDT 2021
https://bugs.webkit.org/show_bug.cgi?id=226070
Bug ID: 226070
Summary: [MSVC] The "/Zc:lambda" switch is recommended to use
the new lambda processor.
Product: WebKit
Version: WebKit Nightly Build
Hardware: PC
OS: Windows 10
Status: NEW
Severity: Normal
Priority: P2
Component: JavaScriptCore
Assignee: webkit-unassigned at lists.webkit.org
Reporter: 1998zhangyi at gmail.com
Environment:
VS 2019 + Windows Server 2016
Issue description:
The MSVC team uses Webkit project as a test case to detect compiler regressions. Recently, two Webkit ports WinCairo and AppleWin triggered an old lambda processor issue on MSVC, which is an irreconcilable old lambda processor issue. Therefore, it is recommended to turn on "/Zc:lambda" switch to use new lambda processor to avoid this problem.
Some opinions from MSVC developers:
Note: the Webkit failure is an issue with the old lambda processor in which one or more lambdas (each of which contains one or more nested lambdas) are generated from a macro expansion. Trying to tell the lambdas apart is an exercise in futility (in the old, token based lambda processor the ‘identity’ for a lambda is the SFA of the initial ‘[‘) and code like this was one of the motivating reasons for starting on the lambda rejuvenation effort.
Repro Steps:
1. git clone https://github.com/WebKit/webkit F:\gitP\WebKit\webkit
2. open a VS 2019 x64 command prompt as admin and browse to F:\gitP\WebKit\webkit
3. download latest WebKitAuxiliaryLibrary.zip from https://developer.apple.com/opensource/internet/WebKitAuxiliaryLibrary.zip and unzip to F:\gitP\WebKit\webkit\WebKitLibraries\win
4. download latest WebKitSupportLibrary.zip from https://developer.apple.com/opensource/internet/webkit_sptlib_agree.html and unzip to F:\gitP\WebKit\webkit\WebKitLibraries\win
5. mkdir F:\gitP\WebKit\webkit\build_amd64_AppleWin
6. cd F:\gitP\WebKit\webkit\build_amd64_AppleWin
7. cmake -G "Visual Studio 16 2019" -A x64 -DCMAKE_SYSTEM_VERSION=10.0.18362.0 -DCMAKE_BUILD_TYPE=Release -DRUBY_LIBRARY=C:\tools\ruby26\lib -DPORT="AppleWin" ..
8. msbuild /p:Platform=x64 /p:Configuration=Release WebKit.sln /t:Rebuild
Error Info:
F:\gitP\WebKit\webkit\Source\JavaScriptCore\heap\Heap.cpp(2827): Assertion failed: iter->second.EncodedIndex() != encodedIndex, file d:\agent\_work\4\s\src\vctools\Compiler\CxxFE\sl\p1\c\lambdas.cpp, line 2464 [when compiling F:\gitP\WebKit\webkit\build_amd64_AppleWin\DerivedSources\JavaScriptCore\unified-sources\UnifiedSource-ee8a7a7a-3.cpp]
c1xx!assertfe()+0x106
d:\agent\_work\4\s\src\vctools\Compiler\CxxFE\sl\p1\c\debug.c Line 333
c1xx!LambdaProcessor::Process()+0x8c3
d:\agent\_work\4\s\src\vctools\Compiler\CxxFE\sl\p1\c\lambdas.cpp Line 2462
c1xx!PrimaryParser::Parse()+0xd9ae
d:\agent\_work\4\s\src\vctools\Compiler\CxxFE\sl\p1\cxx\grammar.y Line 11319
c1xx!`CallPrimaryParser'::`2'::<lambda_1>::operator()()+0x19
d:\agent\_work\4\s\src\vctools\Compiler\CxxFE\sl\p1\cxx\grammar.y Line 13808
c1xx!CallPrimaryParser()+0x14e
d:\agent\_work\4\s\src\vctools\Compiler\CxxFE\sl\p1\cxx\grammar.y Line 13829
c1xx!main_compile()+0xfa2
d:\agent\_work\4\s\src\vctools\Compiler\CxxFE\sl\p1\c\main.c Line 3094
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20210521/2775ece1/attachment-0001.htm>
More information about the webkit-unassigned
mailing list