-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Start to use STL and stdio in superpmi #116422
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
Conversation
src/coreclr/tools/superpmi/superpmi-shim-counter/superpmi-shim-counter.cpp
Outdated
Show resolved
Hide resolved
|
It seems that our linux glibc x64/x86/arm64 build environment aren't ready for C++ 17 STL. Is it because we are targeting the runtime version of lowest supported OS? |
|
We use Ubuntu |
|
Is it OK to use some polyfill for superPMI only? We don't need strict compatibility or reliability here. If this is too flaky, I can remove C++ 17 usage and convert to C++ 11 STL instad. |
What would you have to give up on by converting to C++ 11? |
Everything in |
C++11 and C++14 are the biggest wins for the runtime repo from an API perspective. |
|
@huoyaoyuan In fact, I called this API out specifically in the referenced issue #112419 (comment). We shouldn't be using this without a real benefit. I don't see that in this PR. |
@huoyaoyuan, Given Aaron's comment to avoid |
|
The major benefit of I'll convert this PR to |
Co-authored-by: Jan Kotas <[email protected]>
Co-authored-by: Aaron Robinson <[email protected]>
|
/cc @dotnet/jit-contrib PTAL. I'm signed off. |
|
@EgorBo, PTAL. |
JulieLeeMSFT
left a comment
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.
|
|
The build analysis failure looks like #121153. |
|
/ba-g timeouts related to #121153. |
|
/ba-g timeouts related to #121153. |
|
/ba-g deadletter |
As discussed in #112419, there should not be blocker for adopting C++ 17 in development environment. SuperPMI is I/O intensive and can be simplified significantly with std::filesystem.It's non-starter to introduce C++ 17. Instead, using std::string can also simplify string manipulation a lot.
The end goal is to eliminate PAL simulation of Windows I/O functions. This PR acts as a first step to adopt STL in the dll shim entries.