- Notifications
You must be signed in to change notification settings - Fork 23
Description
Struct Layout compilation uses incorrect version of MSVC++ toolchain when the system has multiple VS installations, and/or multiple toolchain installed side-by-side on a single VS instance, and a given project is configured to select a specific version.
Here is the project configuration snapshot where this setting is made:
To reproduce, install a secondary (older) version of C++ toolchain using the VS Installer (locate one under individual component install). Configure a sample project to use this older version. Struct Layout will insist on using the latest version available, instead of the one specified by the project.
On non-trivial codes, this causes compiler errors because the code may not be compatible with the new toolchain versions (hence the official support for such per-project selection and side-by-side paradigm by VS). To reproduce this scenario artificially, add the following preprocessor condition in code:
For example,
#if _MSC_VER > 1927 #error "unsupported compiler #endif where 19.27 corresponds to v14.27 of the MSVC toolchain:

