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

Revert "Make the constexpr mutex constructor opt-in (#4000)" #4339

Conversation

CaseyCarter
Copy link
Member

@CaseyCarter CaseyCarter commented Jan 24, 2024

This reverts commit 782dcd5.

There were some minor merge conflicts (we added ^^^ to the #endif comment, and ASan changed the env.lst file) so this isn't a pure reversion.

Fixes #4338

@CaseyCarter CaseyCarter added the enhancement Something can be improved label Jan 24, 2024
@CaseyCarter CaseyCarter requested a review from a team as a code owner January 24, 2024 00:45
@StephanTLavavej
Copy link
Member

This is possible now that @amyw-msft merged her MSVC-PR-519388 "Update crt140 nuget package to version 33321 (17.9p2)" today. Thanks for taking care of this @CaseyCarter, it was on my list of things to do today and I didn't know it would take extra effort beyond a plain revert 😻

@CaseyCarter
Copy link
Member Author

Thanks for taking care of this @CaseyCarter, it was on my list of things to do today and I didn't know it would take extra effort beyond a plain revert 😻

#4000 was me, so I felt obliged to fix the damage I did to the STL =)

stl/inc/mutex Outdated Show resolved Hide resolved
tests/std/tests/VSO_0226079_mutex/test.cpp Outdated Show resolved Hide resolved
@StephanTLavavej
Copy link
Member

Pushed comment changes!

@StephanTLavavej StephanTLavavej self-assigned this Jan 24, 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 4aad4b8 into microsoft:main Jan 25, 2024
35 checks passed
@StephanTLavavej
Copy link
Member

Thanks for undoing your undo! 🔁 😻 🎉

@CaseyCarter CaseyCarter deleted the constexpr-default-constructor-default branch January 25, 2024 02:28
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
enhancement Something can be improved
Projects
None yet
Development

Successfully merging this pull request may close these issues.

<mutex> : enable constexpr default constructor by, err, default
2 participants