Skip to content
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

v8: update v8 patch to avoid breaking building with clang #52303

Closed
wants to merge 1 commit into from

Conversation

zcbenz
Copy link
Contributor

@zcbenz zcbenz commented Apr 1, 2024

When building with C++20 using a very new clang (which is used by the GN build), compilation would fail caused because of the change in b9d806a.

The detailed errors can be found in:
https://github.com/photoionization/node_with_gn/actions/runs/8501717771/job/23284924676

My understanding of the error is that, after changing if constexpr to if, some code that were not supposed to be compiled are now compiled, and it is causing problems for certain compiler settings.

@zcbenz zcbenz requested a review from targos April 1, 2024 10:18
@nodejs-github-bot
Copy link
Collaborator

Review requested:

  • @nodejs/security-wg
  • @nodejs/v8-update

@nodejs-github-bot nodejs-github-bot added needs-ci PRs that need a full CI run. v8 engine Issues and PRs related to the V8 dependency. labels Apr 1, 2024
@targos
Copy link
Member

targos commented Apr 1, 2024

@StefanStojanovic FYI

@targos targos added the request-ci Add this label to start a Jenkins CI on a PR. label Apr 1, 2024
@github-actions github-actions bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Apr 1, 2024
@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

@targos
Copy link
Member

targos commented Apr 1, 2024

@zcbenz Unfortunately this breaks compilation with MSVC.

@zcbenz zcbenz force-pushed the v8-fix-compilation branch 2 times, most recently from c491545 to 50735b2 Compare April 2, 2024 10:00
@zcbenz zcbenz changed the title fix: update v8 patch to avoid breaking building with clang v8: update v8 patch to avoid breaking building with clang Apr 2, 2024
@zcbenz zcbenz added the request-ci Add this label to start a Jenkins CI on a PR. label Apr 2, 2024
@github-actions github-actions bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Apr 2, 2024
@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

@zcbenz
Copy link
Contributor Author

zcbenz commented Apr 2, 2024

@zcbenz Unfortunately this breaks compilation with MSVC.

It turns out the V8_COMPILER_IS_MSVC macro is not defined in header. I have updated the change and it builds with MSVC now.

@gengjiawen
Copy link
Member

Can you also try upstream those changes ?

@zcbenz
Copy link
Contributor Author

zcbenz commented Apr 2, 2024

Can you also try upstream those changes ?

This PR means to fix the breakages introduced by b9d806a, according to its commit message it is not going to be upstreamed, so neither will this change.

@StefanStojanovic
Copy link
Contributor

This PR means to fix the breakages introduced by b9d806a, according to its commit message it is not going to be upstreamed, so neither will this change.

You are correct, this will not be upstreamed. @zcbenz, as a part of work on #52293 I'm porting my patch there (cannot apply cleanly because the files it modifies were changed in the meantime). Once it's ready (eg. working on all platforms), I'll let you know and we can apply your changes before landing it in the V8 update branch, so it's all there together.

@nodejs-github-bot
Copy link
Collaborator

@StefanStojanovic
Copy link
Contributor

@zcbenz just to let you know that neither V8, nor its patches I made starting from v12.3 have reducer_list_contains in that place, so your setup with the latest clang should work correctly out of the box as far as I can tell.

@zcbenz
Copy link
Contributor Author

zcbenz commented Apr 27, 2024

Thanks for letting me know! I'll give it a try.

@zcbenz zcbenz closed this Apr 27, 2024
@zcbenz zcbenz deleted the v8-fix-compilation branch April 27, 2024 08:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs-ci PRs that need a full CI run. v8 engine Issues and PRs related to the V8 dependency.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants