WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
233963
Start using C++20
https://bugs.webkit.org/show_bug.cgi?id=233963
Summary
Start using C++20
Alex Christensen
Reported
2021-12-07 17:29:39 PST
Start using C++20
Attachments
Patch
(120.17 KB, patch)
2021-12-07 17:30 PST
,
Alex Christensen
no flags
Details
Formatted Diff
Diff
Patch
(75.94 KB, patch)
2021-12-09 17:15 PST
,
Alex Christensen
no flags
Details
Formatted Diff
Diff
Patch
(80.09 KB, patch)
2021-12-09 23:01 PST
,
Alex Christensen
no flags
Details
Formatted Diff
Diff
Patch
(81.87 KB, patch)
2021-12-10 09:52 PST
,
Alex Christensen
ews-feeder
: commit-queue-
Details
Formatted Diff
Diff
Patch
(82.43 KB, patch)
2021-12-10 11:01 PST
,
Alex Christensen
no flags
Details
Formatted Diff
Diff
WinCairo fix
(504 bytes, patch)
2021-12-21 13:26 PST
,
Fujii Hironori
no flags
Details
Formatted Diff
Diff
Patch
(44.30 KB, patch)
2021-12-21 15:04 PST
,
Alex Christensen
no flags
Details
Formatted Diff
Diff
Patch
(52.77 KB, patch)
2022-01-05 15:16 PST
,
Alex Christensen
no flags
Details
Formatted Diff
Diff
Patch
(49.42 KB, patch)
2022-01-05 17:30 PST
,
Alex Christensen
no flags
Details
Formatted Diff
Diff
char8_t
(53.85 KB, patch)
2022-01-06 01:52 PST
,
Yusuke Suzuki
ews-feeder
: commit-queue-
Details
Formatted Diff
Diff
char8_t is not available on GCC 8
(51.74 KB, patch)
2022-01-06 02:05 PST
,
Yusuke Suzuki
no flags
Details
Formatted Diff
Diff
char8_t is not available on GCC 8
(51.75 KB, patch)
2022-01-06 02:10 PST
,
Yusuke Suzuki
ews-feeder
: commit-queue-
Details
Formatted Diff
Diff
char8_t is not available on GCC 8
(51.77 KB, patch)
2022-01-06 02:14 PST
,
Yusuke Suzuki
ews-feeder
: commit-queue-
Details
Formatted Diff
Diff
char8_t is not available on GCC 8
(51.84 KB, patch)
2022-01-06 02:18 PST
,
Yusuke Suzuki
ews-feeder
: commit-queue-
Details
Formatted Diff
Diff
char8_t is not available on GCC 8
(52.10 KB, patch)
2022-01-06 02:25 PST
,
Yusuke Suzuki
no flags
Details
Formatted Diff
Diff
Patch
(57.88 KB, patch)
2022-01-07 13:08 PST
,
Alex Christensen
no flags
Details
Formatted Diff
Diff
Show Obsolete
(15)
View All
Add attachment
proposed patch, testcase, etc.
Alex Christensen
Comment 1
2021-12-07 17:30:09 PST
Created
attachment 446264
[details]
Patch
Yusuke Suzuki
Comment 2
2021-12-07 18:24:09 PST
Can you separate code changes from C++20 compiler option change? Also need to change the following things. cmake/OptionsCommon.cmake (CMAKE_CXX_STANDARD) bmalloc/libpas/CMakeLists.txt (CMAKE_CXX_STANDARD) JavaScriptCore/shell/PlatformPlayStation.cmake
Alex Christensen
Comment 3
2021-12-07 20:05:02 PST
Totally. This is just a preview of what it would take.
Alex Christensen
Comment 4
2021-12-09 17:15:12 PST
Created
attachment 446640
[details]
Patch
EWS Watchlist
Comment 5
2021-12-09 17:17:01 PST
Note that there are important steps to take when updating ANGLE. See
https://trac.webkit.org/wiki/UpdatingANGLE
Alex Christensen
Comment 6
2021-12-09 23:01:34 PST
Created
attachment 446666
[details]
Patch
Alex Christensen
Comment 7
2021-12-10 09:52:00 PST
Created
attachment 446745
[details]
Patch
Alex Christensen
Comment 8
2021-12-10 11:01:19 PST
Created
attachment 446764
[details]
Patch
Radar WebKit Bug Importer
Comment 9
2021-12-14 17:30:23 PST
<
rdar://problem/86498505
>
Yusuke Suzuki
Comment 10
2021-12-17 14:08:42 PST
GCC builds are failing due to is_pod is deprecated.
Fujii Hironori
Comment 11
2021-12-21 13:26:01 PST
Created
attachment 447747
[details]
WinCairo fix
Alex Christensen
Comment 12
2021-12-21 15:04:12 PST
Created
attachment 447754
[details]
Patch
Darin Adler
Comment 13
2021-12-21 15:29:34 PST
Comment on
attachment 447754
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=447754&action=review
> Source/WTF/wtf/VectorTraits.h:59 > + struct VectorTraits : VectorTraitsBase<std::is_standard_layout<T>::value && std::is_trivial<T>::value, T> { };
Why not use is_standard_layout_v and is_trivial_v instead?
> Source/WebCore/platform/ios/wak/WebCoreThread.mm:248 > +#pragma clang diagnostic push > +#pragma clang diagnostic ignored "-Wdeprecated-volatile"
Can we use IGNORE_CLANG_WARNINGS_BEGIN/END instead of direct use of the pragma?
Alex Christensen
Comment 14
2022-01-05 15:16:08 PST
Created
attachment 448438
[details]
Patch
Darin Adler
Comment 15
2022-01-05 15:34:09 PST
Really looking forward to
https://en.cppreference.com/w/cpp/language/default_comparisons
Alex Christensen
Comment 16
2022-01-05 17:30:12 PST
Created
attachment 448456
[details]
Patch
Yusuke Suzuki
Comment 17
2022-01-06 01:52:19 PST
Created
attachment 448471
[details]
char8_t
Yusuke Suzuki
Comment 18
2022-01-06 02:05:01 PST
Created
attachment 448474
[details]
char8_t is not available on GCC 8
Yusuke Suzuki
Comment 19
2022-01-06 02:10:24 PST
Created
attachment 448475
[details]
char8_t is not available on GCC 8
Yusuke Suzuki
Comment 20
2022-01-06 02:14:06 PST
Created
attachment 448476
[details]
char8_t is not available on GCC 8
Yusuke Suzuki
Comment 21
2022-01-06 02:18:34 PST
Created
attachment 448477
[details]
char8_t is not available on GCC 8
Yusuke Suzuki
Comment 22
2022-01-06 02:25:23 PST
Created
attachment 448478
[details]
char8_t is not available on GCC 8
Yusuke Suzuki
Comment 23
2022-01-06 02:30:28 PST
Comment on
attachment 448456
[details]
Patch r=me with the attached char8_t fix :) (which makes EWS green)
Alex Christensen
Comment 24
2022-01-06 10:14:36 PST
r287698
Fujii Hironori
Comment 25
2022-01-06 13:26:01 PST
AppleWin EWS reported some test crashing. They are true-positive. Filed:
Bug 234933
– [AppleWin] Some fast/shadow-dom/fullscreen-in-* tests are crashing after
r287698
Alex Christensen
Comment 26
2022-01-07 11:25:33 PST
Reverted in
r287768
and
r287770
. There is an internal header in pre-Monterey OSes that uses enums in ways that C++20 doesn't like. Hopefully I can find a workaround...
Alex Christensen
Comment 27
2022-01-07 13:08:30 PST
Reopening to attach new patch.
Alex Christensen
Comment 28
2022-01-07 13:08:34 PST
Created
attachment 448624
[details]
Patch
EWS
Comment 29
2022-01-10 11:17:30 PST
Committed
r287848
(
245897@main
): <
https://commits.webkit.org/245897@main
> All reviewed patches have been landed. Closing bug and clearing flags on
attachment 448624
[details]
.
David Kilzer (:ddkilzer)
Comment 30
2022-01-20 08:14:49 PST
I wonder if either of these NS Visual C++ bugs were fixed as part of this effort:
Bug 195548
: [MS Visual C++] Source incompatibility with C++20 <
https://bugs.webkit.org/show_bug.cgi?id=195548
>
Bug 234546
: MSVC reports "SVGPropertyAnimator.h(94): error C2839: invalid return type 'T *' for overloaded 'operator ->'" with /std:c++20 <
https://bugs.webkit.org/show_bug.cgi?id=234546
>
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