-
Notifications
You must be signed in to change notification settings - Fork 29.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enable C++20 #45402
Comments
+1 from me. I like newer cpp features . |
+1 from me too. |
@targos can we do that without bumping our compiler versions? |
we are currently using GCC 8.3, From https://en.cppreference.com/w/cpp/compiler_support#cpp20, Also if v8 follows chromium decision, we have no choice but upgrade our toolchain. |
Maybe our current compiler versions are enough. They all have some level of partial support of C++20. |
I'm trying to build locally with targos@0065fd6 |
This comment was marked as duplicate.
This comment was marked as duplicate.
I'd like to see this happen. Related: #44411 (comment) |
Yes please |
This comment was marked as duplicate.
This comment was marked as duplicate.
I created a draft PR: #45427 Feel free to push fixes to it. |
Not sure v8 can goes modules, if it goes. really look forward to build time performance. |
As noted in #45694, we need a fix for |
Let's try to revert the problematic commit: #45700 Edit: it breaks the MSVC build. |
OK, I figured out why it's breaking: it's because the Can reproduce: https://godbolt.org/z/8Wah9KbP3 Note that the error points to line 9 as the place the class is being instantiated, even though it's line 16 that's really causing it. |
So The only way to then export such a non-copyable class is to have the copy constructors explicitly deleted. Doing that breaks the C++20 aggregate initialization per https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1008r1.pdf I guess the most reasonable way forward is probably to give Thoughts @mlippautz? |
While I'm working on |
see #45427. Mainly blocked by MSVC. |
I'll check the status of MSVC after #46125 |
Upstream issue in v8: https://crbug.com/1377771 |
Chromium now officially supports C++20: https://chromium-review.googlesource.com/c/chromium/src/+/4217486 This is unfortunately still blocked on nodejs/build#3317 |
Our Linux build infra is not ready for it yet, but V8 is making it difficult to compile on Windows without it. Refs: #45402
Our Linux build infra is not ready for it yet, but V8 is making it difficult to compile on Windows without it. Refs: nodejs#45402
Our Linux build infra is not ready for it yet, but V8 is making it difficult to compile on Windows without it. Refs: nodejs#45402
Our Linux build infra is not ready for it yet, but V8 is making it difficult to compile on Windows without it. Refs: nodejs#45402
Our Linux build infra is not ready for it yet, but V8 is making it difficult to compile on Windows without it. Refs: nodejs#45402
Our Linux build infra is not ready for it yet, but V8 is making it difficult to compile on Windows without it. Refs: #45402 PR-URL: #52465 Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Rafael Gonzaga <[email protected]> Reviewed-By: Michael Dawson <[email protected]>
Our Linux build infra is not ready for it yet, but V8 is making it difficult to compile on Windows without it. Refs: #45402 PR-URL: #52465 Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Rafael Gonzaga <[email protected]> Reviewed-By: Michael Dawson <[email protected]>
Closes: nodejs#45402 PR-URL: nodejs#45427 Fixes: nodejs#45402 Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: Steven R Loomis <[email protected]> Reviewed-By: Tobias Nießen <[email protected]> Reviewed-By: Stephen Belanger <[email protected]> Reviewed-By: Yagiz Nizipli <[email protected]> Reviewed-By: Moshe Atlow <[email protected]> Reviewed-By: Ulises Gascón <[email protected]>
Closes: nodejs#45402 PR-URL: nodejs#45427 Fixes: nodejs#45402 Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: Steven R Loomis <[email protected]> Reviewed-By: Tobias Nießen <[email protected]> Reviewed-By: Stephen Belanger <[email protected]> Reviewed-By: Yagiz Nizipli <[email protected]> Reviewed-By: Moshe Atlow <[email protected]> Reviewed-By: Ulises Gascón <[email protected]>
Our Linux build infra is not ready for it yet, but V8 is making it difficult to compile on Windows without it. Refs: nodejs#45402 PR-URL: nodejs#52465 Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Rafael Gonzaga <[email protected]> Reviewed-By: Michael Dawson <[email protected]>
Closes: nodejs#45402 PR-URL: nodejs#45427 Fixes: nodejs#45402 Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: Steven R Loomis <[email protected]> Reviewed-By: Tobias Nießen <[email protected]> Reviewed-By: Stephen Belanger <[email protected]> Reviewed-By: Yagiz Nizipli <[email protected]> Reviewed-By: Moshe Atlow <[email protected]> Reviewed-By: Ulises Gascón <[email protected]>
Chromium is making the move: https://bugs.chromium.org/p/chromium/issues/detail?id=1284275 / https://chromium-review.googlesource.com/c/chromium/src/+/3946562
Is it something we want to do too?
/cc @nodejs/cpp-reviewers
The text was updated successfully, but these errors were encountered: