Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@CaseyCarter
Copy link
Contributor

@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
Contributor 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 =)

@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
@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**
kirides added a commit to kirides/GD3D11 that referenced this pull request May 8, 2025
Merge SaiyansKing readme changes and workaround for old "critical section" usage, update readme

- Add Linux Wine Example
- Update readme
- @SaiyansKing fixed possible crash with mutex usage on newer c++:
  > VS 2022 17.10:
  > 
  > - Fixed bugs:
  >   - Fixed mutex's constructor to be constexpr. [#3824](microsoft/STL#3824) [#4000](microsoft/STL#4000) [#4339](microsoft/STL#4339)
Note: Programs that aren't following the documented [restrictions on binary compatibility](https://learn.microsoft.com/en-us/cpp/porting/binary-compat-2015-2017?view=msvc-170) 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.
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