-
-
Notifications
You must be signed in to change notification settings - Fork 48
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
Enable MSVC STL workaround until next major toolset version #99
Enable MSVC STL workaround until next major toolset version #99
Conversation
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.
I suppose, technically speaking, this issue is really with the MSVC STL and not with MSVC itself so we are using the wrong macro. I generally don't do unconditional workarounds for compiler or library implementations because they prevent said implementers using my code to fix their stuff, which they occasionally do. So we ought to always retain a version comparison of some sort.
May I suggest that we test _CPPLIB_VER
instead, but perhaps compare to a version some way off from current so this workaround doesn't drop out for a while? Next time I'm talking to a MSVC person I may drop heavy hints they ought to go improve the story here.
All respect to @StephanTLavavej but the other standard libraries compile this code just fine, and I think his STL needs to try harder here than it currently does. We ought to remind ourselves to chase the MSVC STL maintainers about this stuff eventually.
093a53a
to
c1079f9
Compare
I opted for |
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.
Yes I like _MSVC_STL_VERSION
much better, as it is the ABI version of the VS STL.
Surely 150
is a bit aggressive though? It's currently 143
which I would assume will remain until VS2024 is released. It seems reasonable to me that this workaround get retested on VS2024's release.
Maybe I'm wrong, but my understanding is that the number is composed of a major and a minor part (i.e. Therefore EDIT:
The underlying issue is that MSVC's |
See #98 for further rationale.