-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Eliminate xtime
and its member sec
, nsec
#3594
Conversation
Thanks! As I mentioned on Discord, I would indeed like to see all of the non-Standard functions be removed, limited only by anything that affects ABI. (Stuff that's separately compiled is generally clear because either the class is marked as exported, or the functions are marked, and there are explicit calling conventions so they look "weird". You can also double-check the export surface with |
And make one `_Wait_until_sys_time` private.
Thanks, I agree that this should preserve ABI. Leaving the parameter names as |
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.
Thanks!
I'm mirroring this to the MSVC-internal repo - please notify me if any further changes are pushed. |
Thanks for carefully removing this non-Standard machinery that was allowing calls like |
This PR is currently trying to replace uses of
xtime
with_timespec64
, because_timespec64
istimespec
, and<time.h>
, andxtime
.Definition of
_timespec64
(not available in this repo):Definition of
xtime
:STL/stl/inc/xtimec.h
Lines 23 to 26 in 5e60382
Working towards #2206.
Every function in MSVC STL that has external linkage and involves
xtime
is eitherextern "C"
or inline, so I think this PR doesn't break ABI.I'm also trying to change the name of every function, except for constructor, involvingxtime
/_timespec64
in order to avoid polluting overload sets.For constructor ofunique_lock
, I'm adding an explicit construction tag type - perhaps we can simply remove that ctor, and some other non-standard functions.Edit: This PR is now removing non-standard overloads. One non-standard
condition_variable::wait_until
overload is changed to_Wait_until_sys_time
and madeprivate
.