Win8 baseline: Improve STL Hardening codegen size #5433
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🗺️ Overview
__fastfail:<intrin.h>. We generally try to avoid duplicating intrinsic declarations (due to calling convention madness) but in this one case I think it's fine. Because<yvals.h>is very central and special, moving the declaration into<intrin0.h>might still be overly impactful.FAST_FAIL_INVALID_ARGbecause there's no way we can drag in<winnt.h>.__builtin_verbose_trap:v[idx]on x64 with/O2:_invoke_watson()function call.<ranges>, we need to avoid a Clang error: "argument to__builtin_verbose_trapmust be a pointer to a constant string"./clr /std:c++20silent bad codegen with the__fastfailintrinsic".📜 Changelog
__fastfailintrinsic that was added in Windows 8, and the Clang__builtin_verbose_trapintrinsic.