[meta] Compile as C++20
Categories
(Firefox Build System :: General, task, P3)
Tracking
(Not tracked)
People
(Reporter: cpeterson, Unassigned)
References
(Depends on 2 open bugs, Blocks 8 open bugs)
Details
(Keywords: meta)
Who knows when we'll be able to compiled with -std=c++20, but in the meantime we can use this meta bug to gather the work needed to compile as C++20 and the new improvements that will become available with C++20.
When compiling as C++20, __cplusplus == 202002
.
Summary of C++20 language changes: https://en.cppreference.com/w/cpp/20
Clang's C++20 support: https://clang.llvm.org/cxx_status.html#cxx20
GCC's C++20 support: https://gcc.gnu.org/projects/cxx-status.html#cxx20
Updated•2 years ago
|
Reporter | ||
Updated•2 years ago
|
Reporter | ||
Updated•2 years ago
|
Reporter | ||
Updated•2 years ago
|
Reporter | ||
Updated•2 years ago
|
Reporter | ||
Updated•2 years ago
|
Reporter | ||
Updated•2 years ago
|
Reporter | ||
Updated•2 years ago
|
Reporter | ||
Updated•2 years ago
|
Reporter | ||
Updated•2 years ago
|
Reporter | ||
Updated•2 years ago
|
Reporter | ||
Updated•2 years ago
|
Reporter | ||
Updated•2 years ago
|
Reporter | ||
Comment 1•2 years ago
|
||
This slide deck from a Google engineer details some of the problems (and fixes) found when updating Chrome from C++17 to C++20:
"C++20, How Hard Could It Be"
https://docs.google.com/presentation/d/1HwLNSyHxy203eptO9cbTmr7CH23sBGtTrfOmJf9n0ug/preview?resourcekey=0-GH5F3wdP7D4dmxvLdBaMvw
Chrome's C++20 meta bug:
https://bugs.chromium.org/p/chromium/issues/detail?id=1284275
Comment 2•2 years ago
|
||
Thanks for working on this!
Comment 3•2 years ago
|
||
FYI, I don't expect we'd be able to actually switch to C++20 for a few years.
Comment 4•2 years ago
|
||
What are our unlisted blockers? Our good friends hazard-builds and android toolchains?
FWIW, we went c++17 on 2019-12-03, so it's we're neither really ahead nor behind our previous pace.
Reporter | ||
Comment 5•2 years ago
|
||
(In reply to Kelsey Gilbert [:jgilbert] from comment #4)
What are our unlisted blockers? Our good friends hazard-builds and android toolchains?
IIUC, we still need to support clang 5.0 for some older Linux distros, but I don't know which distros are blocking us today. There is some 2019 discussion in bug 1579189 comment 6 about clang support on Debian 8 and 9, though Sylvestre replied that clang versions up to 8 were available on Debian 8 at that time.
Reporter | ||
Updated•11 months ago
|
Reporter | ||
Updated•7 months ago
|
Description
•