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

Make the constexpr mutex constructor opt-in #4000

Merged
merged 1 commit into from
Aug 30, 2023

Conversation

CaseyCarter
Copy link
Member

@CaseyCarter CaseyCarter commented Aug 30, 2023

... via defining _ENABLE_CONSTEXPR_MUTEX_CONSTRUCTOR, instead of opt-out via _DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR. This avoids potential breakage until we can update the VCLibs UWP framework libraries. Doing so in time for 17.8 is probably impossible at this late stage; we'll get this straightened out and enabled by default for 17.9.

@CaseyCarter CaseyCarter added bug Something isn't working high priority Important! visualizer How the VS debugger displays STL types labels Aug 30, 2023
@CaseyCarter CaseyCarter requested a review from a team as a code owner August 30, 2023 00:33
@CaseyCarter CaseyCarter marked this pull request as draft August 30, 2023 01:59
... via defining `_ENABLE_CONSTEXPR_MUTEX_CONSTRUCTOR`, instead of opt-out via `_DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR`. This avoids potential breakage until we can update the VCLibs UWP framework libraries.
@CaseyCarter CaseyCarter changed the title Revert "constexpr mutex constructor" changes Make the constexpr mutex constructor opt-in Aug 30, 2023
@CaseyCarter CaseyCarter removed the visualizer How the VS debugger displays STL types label Aug 30, 2023
@CaseyCarter CaseyCarter marked this pull request as ready for review August 30, 2023 02:14
@CaseyCarter

This comment was marked as resolved.

@azure-pipelines

This comment was marked as resolved.

@CaseyCarter CaseyCarter merged commit 782dcd5 into microsoft:main Aug 30, 2023
@CaseyCarter CaseyCarter deleted the revert branch August 30, 2023 17:19
CaseyCarter added a commit to CaseyCarter/STL that referenced this pull request Jan 24, 2024
CaseyCarter added a commit to CaseyCarter/STL that referenced this pull request Jan 24, 2024
StephanTLavavej added a commit that referenced this pull request Jan 25, 2024
narknon added a commit to UE4SS-RE/RE-UE4SS that referenced this pull request Jun 22, 2024
microsoft/STL#3824
microsoft/STL#4000
microsoft/STL#4339

Add escape hatch due to STL change resulting in issues with binary compatibility.

https://github.com/microsoft/STL/wiki/Changelog
"Fixed bugs:

    Fixed mutex's constructor to be constexpr. #3824 #4000 #4339
        Note: Programs that aren't following the documented restrictions on binary compatibility may encounter null dereferences in mutex machinery. You must follow this rule:

            When you mix binaries built by different supported versions of the toolset, the Redistributable version must be at least as new as the latest toolset used by any app component.

        You can define _DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR as an escape hatch."
narknon added a commit to UE4SS-RE/RE-UE4SS that referenced this pull request Jun 27, 2024
STL updates Mutex Fix

microsoft/STL#3824
microsoft/STL#4000
microsoft/STL#4339

Add escape hatch due to STL change resulting in issues with binary compatibility.

https://github.com/microsoft/STL/wiki/Changelog
"Fixed bugs:

    Fixed mutex's constructor to be constexpr. #3824 #4000 #4339
        Note: Programs that aren't following the documented restrictions on binary compatibility may encounter null dereferences in mutex machinery. You must follow this rule:

            When you mix binaries built by different supported versions of the toolset, the Redistributable version must be at least as new as the latest toolset used by any app component.

        You can define _DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR as an escape hatch."**Description**
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working high priority Important!
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants