You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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:
where 19.27 corresponds to v14.27 of the MSVC toolchain:
The text was updated successfully, but these errors were encountered:
slymz
changed the title
support MSVC toolset option for side-by-side toolchain installations
support MSVC toolset option for side-by-side toolset installations
Nov 4, 2021
Thanks for reporting this. The Struct Layout parser is using Clang underneath, but I will have a look to see if I can at least propagate the proper version definitions.
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,
where 19.27 corresponds to v14.27 of the MSVC toolchain:
The text was updated successfully, but these errors were encountered: