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

src: replace splitstring with built-in #54990

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

anonrig
Copy link
Member

@anonrig anonrig commented Sep 18, 2024

Replaces SplitString function with built-in implementation available for C++20

@anonrig anonrig added dont-land-on-v18.x PRs that should not land on the v18.x-staging branch and should not be released in v18.x. dont-land-on-v20.x PRs that should not land on the v20.x-staging branch and should not be released in v20.x. labels Sep 18, 2024
@nodejs-github-bot nodejs-github-bot added c++ Issues and PRs that require attention from people who are familiar with C++. lib / src Issues and PRs related to general changes in the lib or src directory. needs-ci PRs that need a full CI run. labels Sep 18, 2024
Copy link

codecov bot commented Sep 18, 2024

Codecov Report

Attention: Patch coverage is 87.50000% with 1 line in your changes missing coverage. Please review.

Project coverage is 88.08%. Comparing base (3ac5b49) to head (d9790fe).
Report is 636 commits behind head on main.

Files with missing lines Patch % Lines
src/node_options.cc 75.00% 1 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff           @@
##             main   #54990   +/-   ##
=======================================
  Coverage   88.07%   88.08%           
=======================================
  Files         652      652           
  Lines      183653   183705   +52     
  Branches    35856    35865    +9     
=======================================
+ Hits       161753   161809   +56     
+ Misses      15146    15142    -4     
  Partials     6754     6754           
Files with missing lines Coverage Δ
src/node_v8_platform-inl.h 87.17% <100.00%> (+0.16%) ⬆️
src/util.cc 87.41% <ø> (+0.07%) ⬆️
src/util.h 89.91% <ø> (ø)
src/node_options.cc 88.08% <75.00%> (+0.01%) ⬆️

... and 41 files with indirect coverage changes

@anonrig anonrig requested a review from lemire September 18, 2024 02:29
@anonrig anonrig force-pushed the replace-stringviewsplit branch from 43335d5 to d9790fe Compare September 18, 2024 14:02
@anonrig
Copy link
Member Author

anonrig commented Sep 18, 2024

cc @nodejs/cpp-reviewers

@anonrig anonrig requested a review from ronag September 19, 2024 19:07
@nodejs-github-bot

This comment was marked as outdated.

@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

@anonrig
Copy link
Member Author

anonrig commented Sep 23, 2024

cc @nodejs/platform-smartos it seems smartos doesn't implement C++20 correctly.

@lemire
Copy link
Member

lemire commented Sep 24, 2024

@anonrig The log indicates that GCC 10 is used (which is the default in SmartOS as far as I can tell).

However, Node requires g++ 12.2.0 or clang++ 8.0.0 or better.

And, indeed, look carefully at the build log...

07:30:41 WARNING: C++ compiler (CXX=ccache g++, 10.3.0) too old, need g++ 12.2.0 or clang++ 8.0.0

It is surprising that this PR hits this issue.

@richardlau
Copy link
Member

SmartOS is in the process of being migrated to newer SmartOS as part of the migration of non-ARM servers from Equinix Metal: nodejs/build#3731

nodejs/build#3806 tracks gcc 12 deployment -- SmartOS is the remaining platform and the expectation is that moving to SmartOS 23 should resolve that.

@anonrig
Copy link
Member Author

anonrig commented Oct 24, 2024

@richardlau did the smartos migration complete? is there any blocker for this pull-request atm?

@richardlau
Copy link
Member

@richardlau did the smartos migration complete? is there any blocker for this pull-request atm?

@anonrig I'm not actively involved in the smartos migration, but I don't believe it's complete yet.

@anonrig anonrig added the blocked PRs that are blocked by other issues or PRs. label Dec 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blocked PRs that are blocked by other issues or PRs. c++ Issues and PRs that require attention from people who are familiar with C++. dont-land-on-v18.x PRs that should not land on the v18.x-staging branch and should not be released in v18.x. dont-land-on-v20.x PRs that should not land on the v20.x-staging branch and should not be released in v20.x. lib / src Issues and PRs related to general changes in the lib or src directory. needs-ci PRs that need a full CI run.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants