Skip to content

Move system_clock from <__msvc_chrono.hpp> to <chrono> #5105

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

Merged
merged 1 commit into from
Nov 22, 2024

Conversation

cpplearner
Copy link
Contributor

After #4457 removed _To_timespec64_sys_10_day_clamped, <mutex> and friends no longer depend on system_clock, so system_clock can be moved back to <chrono>.

This PR also moves high_resolution_clock and chrono_literals to <chrono> since they are not used in STL headers.

@cpplearner cpplearner requested a review from a team as a code owner November 21, 2024 12:15
@CaseyCarter CaseyCarter added the enhancement Something can be improved label Nov 21, 2024
@StephanTLavavej StephanTLavavej added throughput Must compile faster and removed enhancement Something can be improved labels Nov 21, 2024
@StephanTLavavej StephanTLavavej self-assigned this Nov 21, 2024
@StephanTLavavej
Copy link
Member

I'm mirroring this to the MSVC-internal repo - please notify me if any further changes are pushed.

@StephanTLavavej StephanTLavavej merged commit 5e0ddad into microsoft:main Nov 22, 2024
39 checks passed
@StephanTLavavej
Copy link
Member

Thanks for this throughput improvement! It's going to break some source code (we found 6 projects in our Real World Code test suite that were affected), so never let it be said that we're unwilling to make disruptive but righteous changes! 😹 💻 ⏰

@cpplearner cpplearner deleted the system-clock branch November 23, 2024 02:17
DavidSpickett pushed a commit to llvm/llvm-project that referenced this pull request Dec 6, 2024
I am a member of Microsoft vcpkg, due to there are new changes merged by
microsoft/STL#5105, which revealed a conformance issue in `llvm`. It
must add include `<chrono>` to fix this error.

Compiler error with this STL change:
```
D:\b\llvm\src\org-18.1.6-e754cb1d0b.clean\lldb\tools\lldb-dap\ProgressEvent.h(79): error C2039: 'system_clock': is not a member of 'std::chrono'
D:\b\llvm\src\org-18.1.6-e754cb1d0b.clean\lldb\tools\lldb-dap\ProgressEvent.cpp(134): error C3083: 'system_clock': the symbol to the left of a '::' must be a type
D:\b\llvm\src\org-18.1.6-e754cb1d0b.clean\lldb\tools\lldb-dap\ProgressEvent.cpp(134): error C2039: 'now': is not a member of 'std::chrono'
```
JDevlieghere pushed a commit to swiftlang/llvm-project that referenced this pull request Feb 25, 2025
I am a member of Microsoft vcpkg, due to there are new changes merged by
microsoft/STL#5105, which revealed a conformance issue in `llvm`. It
must add include `<chrono>` to fix this error.

Compiler error with this STL change:
```
D:\b\llvm\src\org-18.1.6-e754cb1d0b.clean\lldb\tools\lldb-dap\ProgressEvent.h(79): error C2039: 'system_clock': is not a member of 'std::chrono'
D:\b\llvm\src\org-18.1.6-e754cb1d0b.clean\lldb\tools\lldb-dap\ProgressEvent.cpp(134): error C3083: 'system_clock': the symbol to the left of a '::' must be a type
D:\b\llvm\src\org-18.1.6-e754cb1d0b.clean\lldb\tools\lldb-dap\ProgressEvent.cpp(134): error C2039: 'now': is not a member of 'std::chrono'
```

(cherry picked from commit 72aefbb)
uebian added a commit to projectchrono/chrono that referenced this pull request Mar 30, 2025
rserban pushed a commit to projectchrono/chrono that referenced this pull request Mar 31, 2025
* Fix the blaze_INCLUDE_DIR setting for macosci

* Use absolute home path for blaze on osx CI/CD pipeline

* Avoid using FAIL in non-test function

* Update CUDA toolkit version to 12.8 in CI configuration and packaging scripts

* Use NVIDIA's official docker container instead of our self-built one

* Use Intel oneAPI+CUDA container

* Load intel oneapi

* Use ${CASCADE_INSTALL_DIR}/build instead of ${CASCADE_INSTALL_DIR}/atm
to make it consistent in our upgraded docker

* Build opencascade

* Eliminate the noisy information in the CI/CD output

* Fix the target dir of opencascade

* Remove OCCT_INSTALL_BIN_LETTER from opencascade

* Use external installation location

* Use CMAKE_INSTALL_PREFIX to specify prefix

* Fix the syntax error in the buildOCCT script

* Use pre-built opencascade

* Manually include chrono to make it compatible with microsoft/STL#5105

* Build VSG before running test on Windows

* Remove additional character in Windows's testing pipeline

* Change the vsg library path to Windows's style
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
throughput Must compile faster
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

3 participants