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

Internally disable subrange workaround #2338

Merged
merged 2 commits into from
Dec 9, 2021

Conversation

CaseyCarter
Copy link
Member

@CaseyCarter CaseyCarter commented Nov 14, 2021

The workaround for GH-2326 isn't needed for the internal MSVC compiler; let's ensure it doesn't regress. Since this workaround is in product code let's rename MSVC_INTERNAL_TESTING to _MSVC_INTERNAL_TESTING (because _Ugly). Don't forget to update the name in $/src/qa/distrib.yml consistently when merging.

Resolves #2326

@CaseyCarter CaseyCarter added the enhancement Something can be improved label Nov 14, 2021
@CaseyCarter CaseyCarter requested a review from a team as a code owner November 14, 2021 20:59
@AlexGuteniev
Copy link
Contributor

Should we disable it based on the compiler full version instead of being internal?

@CaseyCarter
Copy link
Member Author

Should we disable it based on the compiler full version instead of being internal?

I don't trust the full version at all. It doesn't help that I don't know when this bug was fixed other than "between the 17.1p1 snap and last Friday." The goal is to ensure that the compiler FE doesn't regress this fixing something else, for which it suffices to only have coverage when the pertinent test is run in the internal test harness. Yes, that means the workaround won't be disabled outside of the internal harness until we do so manually, and I'm ok with consequently shipping it for an extra cycle.

@StephanTLavavej
Copy link
Member

Another reason that we traditionally avoid inspecting _MSC_FULL_VER is that it can vary between different MSVC-internal branches, which historically caused trouble as code got merged here and there. This is probably less of an issue these days where there are only 3 major branches for the current version (prod/fe where compiler front-end and library code goes, prod/be where compiler back-end changes happen, and the main branch where they meet), but the conditioning was long-lasting.

stl/inc/xutility Outdated Show resolved Hide resolved
@StephanTLavavej
Copy link
Member

⚠️ MSVC-PR mirroring note:

This will require a one-line change to the definition of the macro.

@mnatsuhara mnatsuhara self-assigned this Dec 1, 2021
@mnatsuhara mnatsuhara removed their assignment Dec 3, 2021
@StephanTLavavej StephanTLavavej self-assigned this Dec 8, 2021
@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 e76e8f6 into microsoft:main Dec 9, 2021
@StephanTLavavej
Copy link
Member

Thanks for ensuring that this compiler bugfix stays fixed, and for cleaning up this macro! (I made the necessary internal change when merging.) 🐞 ✔️ 😺

@CaseyCarter CaseyCarter deleted the cleanup_2326 branch December 9, 2021 02:31
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.

<xutility>: subrange is still affected by an MSVC constexpr compiler bug
6 participants
  翻译: