Move the macro for MSVC-internal testing #1589
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.
When testing Standard Library Header Units in #1388, I arranged for the MSVC-internal test harness to pass
/DMSVC_INTERNAL_TESTING
, so we could activate portions of the test as soon as MSVC compiler bugs were fixed, before removing workarounds entirely (after the fixed compiler ships in a public VS Preview). That's been enormously successful.Now that @miscco and @mnatsuhara are working on
constexpr
containers (#1407, #1502, #1546) and are discovering Super Awesome Compiler Bugs everywhere, this macro technique will be useful in other tests.Accordingly, this PR removes the macro definition from
P1502R1_standard_library_header_units/custombuild.pl
, and we're going to define it for the entirestd
test suite in an MSVC-internal file, so anystd
test can sense it.To be clear: This has no effect for contributors building and testing the repo with the public VS Preview. Only when a compiler bug is encountered, worked around, and eventually fixed by the compiler team, will it be recommended to guard the workaround with
#ifdef MSVC_INTERNAL_TESTING
. That will prevent the compiler from regressing before the fix ships.