-
-
Notifications
You must be signed in to change notification settings - Fork 31.4k
Enable C++20 #45402
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
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
Closes: nodejs#45402 PR-URL: nodejs#45427 Fixes: nodejs#45402 Reviewed-By: Michael Dawson <midawson@redhat.com> Reviewed-By: Steven R Loomis <srl295@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Stephen Belanger <admin@stephenbelanger.com> Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io> Reviewed-By: Moshe Atlow <moshe@atlow.co.il> Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com>
Closes: nodejs#45402 PR-URL: nodejs#45427 Fixes: nodejs#45402 Reviewed-By: Michael Dawson <midawson@redhat.com> Reviewed-By: Steven R Loomis <srl295@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Stephen Belanger <admin@stephenbelanger.com> Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io> Reviewed-By: Moshe Atlow <moshe@atlow.co.il> Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com>
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 <matteo.collina@gmail.com> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com> Reviewed-By: Michael Dawson <midawson@redhat.com>
Closes: nodejs#45402 PR-URL: nodejs#45427 Fixes: nodejs#45402 Reviewed-By: Michael Dawson <midawson@redhat.com> Reviewed-By: Steven R Loomis <srl295@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Stephen Belanger <admin@stephenbelanger.com> Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io> Reviewed-By: Moshe Atlow <moshe@atlow.co.il> Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com>
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: