-
Notifications
You must be signed in to change notification settings - Fork 29.6k
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
src: refactor node options parsers to mitigate MSVC bug #26280
Conversation
@refack sadly an error occured when I tried to trigger a build :( |
@nodejs/build @nodejs/platform-windows This is supposed to fix the current Windows CI problem. |
|
Resume: https://ci.nodejs.org/job/node-test-commit/26104/ (PI1 fail was infra) |
Why is this necessary? Isn't #25593 already fixed? |
As you predicted the fix in #25596 was temporary, and the issue came back. The current code in For example https://nodejs.org/download/nightly/v12.0.0-nightly201902247e0ddf66b9/win-x86/ |
If the issue is still a static initialization order thing, It's not obvious to me how some of the changes here (e.g. to Other than that, the code changes here look good to me. It's unfortunate that the code has to be bloated up a bit, but it's clear that fixing a broken build is more important. Do we know what change caused this? Should that have gotten a red CI? (Or is it still only debug builds?) I also can't reproduce this locally on Windows on |
6b14968
to
5cf7ba6
Compare
Reduced some bloat. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM with nits
dc38996
to
f3a4e2b
Compare
f3a4e2b
to
f98b845
Compare
Rebased into two commits (1) bug fix and (2) fix warnings |
251a80b
to
57e2c03
Compare
57e2c03
to
2c6d94f
Compare
I had to back out this PR from v11.11.0 due to #26322 (comment). Should this be backported? |
This comment has been minimized.
This comment has been minimized.
Backport PR: #26649 |
PR-URL: nodejs#26280 Fixes: nodejs#25593 Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
* header explicit usage, order, and reduce use of `*-inl.h` * pointer -> const reference when possible * no variable recyclicng * `std::begin/end` prefered over `instance.begin/end` * `USE` for explicit unused resaults PR-URL: nodejs#26280 Fixes: nodejs#25593 Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
* header explicit usage, order, and reduce use of `*-inl.h` * pointer -> const reference when possible * no variable recyclicng * `std::begin/end` prefered over `instance.begin/end` * `USE` for explicit unused resaults Backport-PR-URL: #26649 PR-URL: #26280 Fixes: #25593 Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
* header explicit usage, order, and reduce use of `*-inl.h` * pointer -> const reference when possible * no variable recyclicng * `std::begin/end` prefered over `instance.begin/end` * `USE` for explicit unused resaults Backport-PR-URL: #26649 PR-URL: #26280 Fixes: #25593 Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Simplify
node_options
API, so the compiler bug should not manifest.Should fix current
master
Fixes: #25593
Checklist
make -j4 test
(UNIX), orvcbuild test
(Windows) passes