WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
Bug 204443
[MSVC] Add /experimental:newLambdaProcessor switch for better C++ conformance
https://bugs.webkit.org/show_bug.cgi?id=204443
Summary
[MSVC] Add /experimental:newLambdaProcessor switch for better C++ conformance
Fujii Hironori
Reported
2019-11-20 22:27:56 PST
[MSVC] Add /experimental:newLambdaProcessor switch for better C++ conformance MSVC has a bug of lambda capture of 'this'. It has caused compilation errors repeatedly.
Bug 204437
– [MSVC] error C2039: 'weakPtrFactory': is not a member of 'WebCore::DocumentStorageAccess::requestStorageAccess::<lambda_3f2cfd7704f93d8fe19d5b5f064f8add>'
Bug 187035
– [Win] 'deref': is not a member of 'WebKit::WebResourceLoadStatisticsStore::updateCookiePartitioningForDomains::<lambda_9d761a6dc12d95db7fa2d6f3f5aa26fa>'
Bug 184120
– [Win] MSVC can't compile WebResourceLoadStatisticsStore::scheduleClearInMemoryAndPersistent
r251999
/experimental:newLambdaProcessor
https://docs.microsoft.com/en-us/cpp/overview/cpp-conformance-improvements?view=vs-2019#improvements_161
Attachments
Patch
(3.54 KB, patch)
2019-11-20 22:34 PST
,
Fujii Hironori
no flags
Details
Formatted Diff
Diff
Patch for landing
(3.51 KB, patch)
2020-01-29 20:47 PST
,
Fujii Hironori
no flags
Details
Formatted Diff
Diff
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
Fujii Hironori
Comment 1
2019-11-20 22:34:00 PST
Created
attachment 384030
[details]
Patch
Fujii Hironori
Comment 2
2019-11-20 22:34:38 PST
I expect this change will break Apple Win7 bots because they are still using VS2017. They should be shut down (
Bug 197288 Comment 12
).
Ross Kirsling
Comment 3
2019-11-21 08:33:14 PST
I've had to fix this in
r250793
,
r240797
, and
r251999
as well.
Don Olmstead
Comment 4
2019-11-21 08:48:49 PST
(In reply to Ross Kirsling from
comment #3
)
> I've had to fix this in
r250793
,
r240797
, and
r251999
as well.
Pretty sure the EWS caught all the compiler failures. Ignoring them is also a problem.
Konstantin Tokarev
Comment 5
2019-11-21 08:54:31 PST
Note that experimental lamba processor has its own conformance issues, e.g.
https://developercommunity.visualstudio.com/content/problem/729465/experimentalnewlambdaprocessor-not-able-to-process.html
, so if folks are ignoring EWS they still migth break MSVC with valid C++ code
Fujii Hironori
Comment 6
2019-11-24 18:00:48 PST
Using clang-cl seems an ideal solution (
Bug 171618
). Seems no objection for the patch? I believe the patch reduce the maintenance for WebKit developers. Anyone can review?
Fujii Hironori
Comment 7
2019-11-24 18:04:14 PST
(In reply to Ross Kirsling from
comment #3
)
> I've had to fix this in
r250793
,
r240797
, and
r251999
as well.
IIUC, these changes don't need to be reverted in this patch.
Ross Kirsling
Comment 8
2019-11-25 09:34:20 PST
I don't object as long as the conformance is better, but I agree that having folks not ignore EWS is the most important regardless.
Fujii Hironori
Comment 9
2019-12-02 01:59:40 PST
review?
Don Olmstead
Comment 10
2019-12-02 10:05:35 PST
Are we really sure this is a good idea? I'd feel better if this was added to /permissive-
https://docs.microsoft.com/en-us/cpp/build/reference/permissive-standards-conformance?view=vs-2019
or something along those lines
Fujii Hironori
Comment 11
2019-12-02 18:04:24 PST
Let's do that in:
Bug 202842
– MSVC reports "wtf/RetainPtr.h(196): error C3861: 'CFAutorelease': identifier not found " with /permissive- on Windows
Fujii Hironori
Comment 12
2019-12-02 18:08:26 PST
Comment on
attachment 384030
[details]
Patch Clearing flags on attachment: 384030 Committed
r253020
: <
https://trac.webkit.org/changeset/253020
>
Fujii Hironori
Comment 13
2019-12-02 18:08:30 PST
All reviewed patches have been landed. Closing bug.
Fujii Hironori
Comment 14
2019-12-02 18:25:08 PST
(In reply to Fujii Hironori from
comment #2
)
> I expect this change will break Apple Win7 bots because they are still using > VS2017. > They should be shut down (
Bug 197288 Comment 12
).
This change didn't actually break the Win7 bots, but a lot of warning messages are started reporting.
> cl : Command line warning D9002: ignoring unknown option '/experimental:newLambdaProcessor' [C:\cygwin\worker\win7-release-i386\build\WebKitBuild\Release\Tools\TestWebKitAPI\TestWTF.vcxproj]
https://build.webkit.org/builders/Apple%20Win%207%20Release%20%28Build%29/builds/8953
They should be shut down (
Bug 197288 Comment 12
).
Fujii Hironori
Comment 15
2019-12-03 03:24:07 PST
Oops. My patch breaks WinCairo bots which is using VS2019 16.0. But, /experimental:newLambdaProcessor needs VS2019 16.1 or newer. Don, can you upgrade your Docker image?
Fujii Hironori
Comment 16
2019-12-03 03:27:32 PST
Committed
r253034
: <
https://trac.webkit.org/changeset/253034
>
Fujii Hironori
Comment 17
2019-12-03 03:28:27 PST
Reverted in
r253034
. Reopened.
Fujii Hironori
Comment 18
2020-01-29 19:59:51 PST
WinCairo buildbot updated MSVC, and AppleWin removes Win7 bots (
Bug 206702
). I'm going to land the patch again by fixing clang-cl issue.
Fujii Hironori
Comment 19
2020-01-29 20:47:36 PST
Created
attachment 389225
[details]
Patch for landing
Fujii Hironori
Comment 20
2020-01-29 23:04:31 PST
Comment on
attachment 389225
[details]
Patch for landing Clearing flags on attachment: 389225 Committed
r255418
: <
https://trac.webkit.org/changeset/255418
>
Fujii Hironori
Comment 21
2020-01-29 23:04:35 PST
All reviewed patches have been landed. Closing bug.
Fujii Hironori
Comment 22
2020-03-20 13:43:49 PDT
See also:
Bug 209358
– [MSVC] Remove experimental lambda processor usage
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