{"id":37111,"date":"2026-11-13T18:12:10","date_gmt":"2026-11-13T18:12:10","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/cppblog\/?p=37111"},"modified":"2026-11-13T18:12:10","modified_gmt":"2026-11-13T18:12:10","slug":"msvc-build-tools-preview-updates-november-2026","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/cppblog\/msvc-build-tools-preview-updates-november-2026\/","title":{"rendered":"MSVC Build Tools Preview updates &#8211; November 2026"},"content":{"rendered":"<p>The MSVC Build Tools Preview is updated regularly with the latest features and fixes from the MSVC development team. This post covers the last month&#8217;s updates of the Preview build tools, currently targeting the v14.53 release. This encompasses changes across the compiler frontend, backend, linker, standard library, and related tools.<\/p>\n<p>Although you can acquire the MSVC Build Tools Preview through either the <a href=\"https:\/\/visualstudio.microsoft.com\/\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Visual Studio 2026 Stable Channel (Opens in new window or tab)\">Visual Studio 2026 Stable Channel<\/a>\u00a0or <a href=\"https:\/\/visualstudio.microsoft.com\/insiders\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Visual Studio 2026 Insiders Channel (Opens in new window or tab)\">Visual Studio 2026 Insiders Channel<\/a> , Insiders gets MSVC Preview updates more frequently.<\/p>\n<p>To check if it&#8217;s installed simply make sure one or both of these components are checked in the installer:<\/p>\n<ol>\n<li>MSVC Build Tools for x64\/x86 (Preview)<\/li>\n<li>MSVC Build Tools for ARM64\/ARM64EC (Preview)<\/li>\n<\/ol>\n<p>Follow the instructions on <a href=\"https:\/\/aka.ms\/msvc\/preview\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"https:\/\/aka.ms\/msvc\/preview (Opens in new window or tab)\">https:\/\/aka.ms\/msvc\/preview<\/a> to configure your IDE &amp; command prompts to use the MSVC Build Tools Preview.<\/p>\n<p>The version number printed by cl.exe and link.exe will be at least 19.53.36930 \/ 14.53.36930.<\/p>\n<p>We appreciate any feedback that you may have. Please report any issues on <a href=\"https:\/\/developercommunity.visualstudio.com\/cpp\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Visual Studio Developer Community (Opens in new window or tab)\">Visual Studio Developer Community<\/a> so we can address them by the time we move out of preview.<\/p>\n<h3 id=\"user-content-c%2B%2B-conformance-and-frontend\">C++ Conformance and Frontend<\/h3>\n<ul>\n<li>Added support for <code>[[fallthrough]]<\/code> in C++14 mode.<\/li>\n<li>Added C++ warnings C4878 and C4879 for additional explicit and implicit conversions between <code>HRESULT<\/code> or <code>SCODE<\/code> and Boolean-like types. Both warnings are level 4 and off by default. <a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Compiler:-Promote-static-analysis-C62xx-\/11142626\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"ticket (Opens in new window or tab)\">Ticket<\/a><\/li>\n<li>Added <code>\/Zc:__super[-]<\/code> and <code>\/Zc:__if_exists[-]<\/code> to control the <code>__super<\/code> and <code>__if_exists<\/code> Microsoft extensions.<\/li>\n<li>Reduced frontend memory usage by improving allocation and lifetime management for buffered source tokens.<\/li>\n<li>Added <code>-fsanitize-coverage-ignorelist<\/code> as an alternative spelling for <code>-fsanitize-coverage-blocklist<\/code>, preserving compatibility with existing command lines. <a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC:-Rename--fsanitize-coverage-blockli\/11157356\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"ticket (Opens in new window or tab)\">Ticket<\/a><\/li>\n<\/ul>\n<h3 id=\"user-content-code-generation-and-optimization\">Code Generation and Optimization<\/h3>\n<p><strong>ARM64 improvements:<\/strong><\/p>\n<ul>\n<li>Extended experimental support for the Arm Scalable Matrix Extension under <code>\/feature:sme<\/code>, including streaming-function declarations, supported direct and indirect calls, link-time code generation, exception handling, and runtime state-management helpers. Support is native ARM64 only and remains partial; streaming-function definitions and ARM64EC are not supported.<\/li>\n<li>Added the <code>ARM64_FPMR<\/code> constant for <code>_ReadStatusReg<\/code> and <code>_WriteStatusReg<\/code>, along with the <code>FPMR<\/code> register name in the ARM64 assembler and disassembler. Executing these instructions requires hardware and operating-system support.<\/li>\n<li>Improved inlining decisions on ARM64 and ARM64EC by accounting for floating-point and vector-register pressure, helping avoid unnecessary spills.<\/li>\n<li>Replaced some multi-step NEON zero-extension sequences with a table-lookup instruction.<\/li>\n<\/ul>\n<p><strong>x64 and x86 improvements:<\/strong><\/p>\n<ul>\n<li>Expanded APX conditional-compare generation, including comparisons produced when lowering switch statements, and improved conditional-move instruction selection.<\/li>\n<li>Re-enabled compact x64 epilog generation for unwind version 3.<\/li>\n<li>Improved AVX-512 instruction selection by combining supported arithmetic-and-blend sequences into merge-masked arithmetic instructions.<\/li>\n<li>Replaced eligible late-stage constant multiplications on x64 with shorter address-calculation instructions.<\/li>\n<\/ul>\n<p><strong>Optimizer improvements:<\/strong><\/p>\n<ul>\n<li>Added opt-in automatic load-time function selection for link-time code generation. The <code>[[msvc::auto_dispatch]]<\/code> attribute can generate CPU-specific implementations from one function body for selection by a supporting loader.<\/li>\n<li>Improved inlining decisions to expose more opportunities for simplifying aggregate objects and eliminating unused stores.<\/li>\n<li>Improved constant-remainder optimization on x86 and ARM64, replacing eligible hardware divisions with multiply-and-shift sequences.<\/li>\n<li>Removed redundant comparisons and unreachable branches inside loops when their outcomes follow from the loop bounds.<\/li>\n<li>Expanded vectorization opportunities by recognizing more non-overlapping memory accesses and more ways to pack scalar values into vectors.<\/li>\n<li>Added partial support for vectorizing groups of three elements.<\/li>\n<li>Improved loop-unswitching decisions so more loops can be simplified before vectorization, including eligible conditions read through pointers.<\/li>\n<li>Reduced padding in generated runtime type information and exception-handling data, helping reduce 64-bit executable and DLL sizes.<\/li>\n<\/ul>\n<h3 id=\"user-content-linker-and-assembler\">Linker and Assembler<\/h3>\n<ul>\n<li>Added the opt-in linker option <code>\/WARNUNUSEDLIBS<\/code>. It emits LNK4324 for each input library from which no members were loaded. The warning supports <code>\/IGNORE:4324<\/code> and warning-as-error settings without changing <code>\/VERBOSE:UNUSEDLIBS<\/code>. <a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Generate-warningerror-on-verbose:unuse\/10797935\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"ticket (Opens in new window or tab)\">Ticket<\/a><\/li>\n<li>Improved incremental-link performance for projects with large numbers of input files by reducing repeated filename searches.<\/li>\n<li>Expanded the set of valid epilog instructions accepted by MASM with unwind version 3, including <code>VERW<\/code> and <code>SWAPGS<\/code>.<\/li>\n<\/ul>\n<h3 id=\"user-content-static-analysis\">Static Analysis<\/h3>\n<ul>\n<li>Expanded C26433 and C26435 checking to virtual destructor overrides, aligning the checks with the current C++ Core Guidelines. <a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Code-Analysis-C26433-does-not-warn-on-de\/11140274\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"ticket (Opens in new window or tab)\">Ticket<\/a><\/li>\n<\/ul>\n<h3 id=\"user-content-addresssanitizer\">AddressSanitizer<\/h3>\n<ul>\n<li>Added the opt-in <code>windows_shadow_top_down<\/code> option on 64-bit Windows. Setting <code>ASAN_OPTIONS=windows_shadow_top_down=1<\/code> before AddressSanitizer initializes places shadow memory in the highest available address range that fits, rather than the lowest. This can reduce managed-runtime memory overhead when loading an instrumented DLL into an application using the .NET Framework garbage collector. The option is off by default, has no effect on 32-bit Windows, and must be set through the environment early enough to affect initialization; <code>__asan_default_options<\/code> is too late to change shadow placement.<\/li>\n<\/ul>\n<h3 id=\"user-content-standard-library\">Standard Library<\/h3>\n<p>See the <a href=\"https:\/\/github.com\/microsoft\/STL\/wiki\/Changelog\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"STL changelog (Opens in new window or tab)\">STL changelog<\/a> for details on standard library improvements in the MSVC Build Tools Preview.<\/p>\n<h2 id=\"user-content-tickets-fixed\">Tickets Fixed<\/h2>\n<p>The following tickets reported through Developer Community have been fixed in this update:<\/p>\n<ul>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/_Pragma-in-header-unit-causes-ICE-with-p\/11156000\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"_Pragma in header unit causes ICE with preview platform toolset 19.52.36725 (Opens in new window or tab)\">_Pragma in header unit causes ICE with preview platform toolset 19.52.36725<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/EHa-compiler-1952preview-optimizes-awa\/11156354\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"\/EHa compiler 19.52preview optimizes away local variable accessed from catch block (Opens in new window or tab)\">\/EHa compiler 19.52preview optimizes away local variable accessed from catch block<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Zc:checkGwOdr-fails-to-detect-ODR-viola\/11134060\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"\/Zc:checkGwOdr fails to detect ODR violations when used with \/GL (Opens in new window or tab)\">\/Zc:checkGwOdr fails to detect ODR violations when used with \/GL<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Derived::f-as-an-argument-of-an-auto-no\/11164102\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"&amp;Derived::f as an argument of an auto non-type template parameter gets a malformed type when f comes from a using-declaration (Opens in new window or tab)\">&amp;Derived::f as an argument of an auto non-type template parameter gets a malformed type when f comes from a using-declaration<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/msvc::dispatch:-nested-all-ins\/11145351\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"[[msvc::dispatch]]: nested all() inside any() is flattened (Opens in new window or tab)\">[[msvc::dispatch]]: nested all() inside any() is flattened<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/ranges-plus-import-std-triggers-C2382-\/11148844\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"&lt;ranges&gt; plus import std triggers C2382 (Opens in new window or tab)\">&lt;ranges&gt; plus import std triggers C2382<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/1452:-C1001-Internal-Compiler-Error-o\/11166382\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"14.52: C1001 &quot;Internal Compiler Error&quot; on ARM64 when compiling \/GL + \/LTCG (Opens in new window or tab)\">14.52: C1001 &#8220;Internal Compiler Error&#8221; on ARM64 when compiling \/GL + \/LTCG<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/1714-Regression-ICE-in-modules-with-us\/10895670\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"17.14 Regression ICE in modules with using base::operator= (Opens in new window or tab)\">17.14 Regression ICE in modules with using base::operator=<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-x64-optimizer-removes-_mm_add_psx\/11155535\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Adding a zero vector incorrectly preserves negative zero (Opens in new window or tab)\">Adding a zero vector incorrectly preserves negative zero<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Missing-address-taken-functions-from-GFI\/10493888\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Address-taken functions are missing from Control Flow Guard metadata (Opens in new window or tab)\">Address-taken functions are missing from Control Flow Guard metadata<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/ADL-fails-to-consider-the-namespace-asso\/10892055\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"ADL fails to consider the namespace associated with the base class under a specific scenario (Opens in new window or tab)\">ADL fails to consider the namespace associated with the base class under a specific scenario<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Apps-built-with-QSpectre-load-and-CETC\/10949177\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Apps built with \/QSpectre-load and \/CETCOMPAT crashes with EXCEPTION_STACK_OVERFLOW (Opens in new window or tab)\">Apps built with \/QSpectre-load and \/CETCOMPAT crashes with EXCEPTION_STACK_OVERFLOW<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Arm-NEON-codegen-miscompiles-two-constan\/11161022\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Arm NEON codegen miscompiles two constant broadcast arguments under \/O2 (Opens in new window or tab)\">Arm NEON codegen miscompiles two constant broadcast arguments under \/O2<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/ARM64-GL--LTCG:-wrong-vector-move-cod\/11164805\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"ARM64 \/GL + \/LTCG: wrong vector-move code in cmsofflineservicing.dll (MSVC 19.52) (Opens in new window or tab)\">ARM64 \/GL + \/LTCG: wrong vector-move code in cmsofflineservicing.dll (MSVC 19.52)<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/ARM64-O2-Gs0:-prologue-calls-__chks\/11146442\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"ARM64 \/O2 \/Gs0: prologue calls __chkstk before spilling lr, destroying the return address (Opens in new window or tab)\">ARM64 \/O2 \/Gs0: prologue calls __chkstk before spilling lr, destroying the return address<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/ARM64-backend-miscompiles-NEON-logical-o\/11141082\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"ARM64 backend miscompiles NEON logical ops with narrow splat constants (Opens in new window or tab)\">ARM64 backend miscompiles NEON logical ops with narrow splat constants<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/arm64-could-use-smaddl-for-calculating\/10040476\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"ARM64 could use SMADDL for two-dimensional array element addresses (Opens in new window or tab)\">ARM64 could use SMADDL for two-dimensional array element addresses<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/-\/11165299\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"ARM64 linker crashes with C1001 and LNK1000 (Opens in new window or tab)\">ARM64 linker crashes with C1001 and LNK1000<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/ARM64-linkexe-cvtcil-fails-with-C1001-\/11152826\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"ARM64 linker reports C1001 while converting a static library (Opens in new window or tab)\">ARM64 linker reports C1001 while converting a static library<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/ARM64EC-retail-build-hits-LNK1000-in-lin\/11135920\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"ARM64EC retail builds fail with LNK1000 (Opens in new window or tab)\">ARM64EC retail builds fail with LNK1000<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/C-compiler-rejects-C99-const-and-static-\/11147919\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"C compiler rejects C99 const and static array parameter qualifiers (Opens in new window or tab)\">C compiler rejects C99 const and static array parameter qualifiers<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/C-compiler:-wrong-code-generation:-mulsd\/1581903\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"C compiler: wrong code generation: mulsd is not generated (Opens in new window or tab)\">C compiler: wrong code generation: mulsd is not generated<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/C-compiler-crashes-with-access-violati\/11127427\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"C++ compiler crashes with access violation compiling AsyncGenerator coroutine (Opens in new window or tab)\">C++ compiler crashes with access violation compiling AsyncGenerator coroutine<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/C-compiler-rejects-friend-template-mem\/11158204\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"C++ compiler rejects friend template member-pointer parameter as incompatible (Opens in new window or tab)\">C++ compiler rejects friend template member-pointer parameter as incompatible<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/C-Dynamic-Debugging:-alt-switch-trigg\/11160276\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"C++ Dynamic Debugging: .alt switch triggers 0xC0000005 with \/DYNAMICBASE:NO (Opens in new window or tab)\">C++ Dynamic Debugging: .alt switch triggers 0xC0000005 with \/DYNAMICBASE:NO<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/C-modules-reject-first-imported-specia\/11148618\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"C++ modules reject first imported specialization with requires pack fold (Opens in new window or tab)\">C++ modules reject first imported specialization with requires pack fold<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-modules-trigger-C1116-restoring-Ext\/11148843\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"C++ modules trigger C1116 while importing compiled module information (Opens in new window or tab)\">C++ modules trigger C1116 while importing compiled module information<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/C-modules:-Import-with-explicit-templa\/11107494\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"C++ modules: Import with explicit template instantiation fails with compile error (Opens in new window or tab)\">C++ modules: Import with explicit template instantiation fails with compile error<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/C-std::invocable-rejects-nested-generi\/11148608\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"C++ std::invocable rejects nested generic lambda with nontrivial return type (Opens in new window or tab)\">C++ std::invocable rejects nested generic lambda with nontrivial return type<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/CCLI-structclass-doesnt-use-Marshal\/1632617\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"C++\/CLI struct\/class doesn't use MarshalCopy (Opens in new window or tab)\">C++\/CLI struct\/class doesn&#8217;t use MarshalCopy<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/-\/11078434\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"C1001 internal compiler error in C++ code (Opens in new window or tab)\">C1001 internal compiler error in C++ code<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-1444-compiler-error-regarding-C100\/11155591\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"C1001 internal compiler error when compiling C++ modules (Opens in new window or tab)\">C1001 internal compiler error when compiling C++ modules<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-Internal-Compiler-Error-C1001-when-\/11154802\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"C1001 internal compiler error when targeting ARM64EC (Opens in new window or tab)\">C1001 internal compiler error when targeting ARM64EC<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/-\/11166675\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"C1001 when a return type passes a reference parameter pack to a consteval function (Opens in new window or tab)\">C1001 when a return type passes a reference parameter pack to a consteval function<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-C2079-error-when-importing-sstream\/11130467\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"C2079 when importing &lt;sstream&gt; as a header unit alongside two modules (Opens in new window or tab)\">C2079 when importing &lt;sstream&gt; as a header unit alongside two modules<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/C2678-for-decltypea--b--c-with-a-ded\/11148612\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"C2678 for decltype(a * b * c) with a deducing-this conversion in scope (Opens in new window or tab)\">C2678 for decltype(a * b * c) with a deducing-this conversion in scope<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/C4737-%E2%80%9CUnable-to-perform-required-tail-c\/11170590\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"C4737 &quot;Unable to perform required tail call&quot; on coroutine symmetric transfer under \/arch:AVX2 (Opens in new window or tab)\">C4737 &#8220;Unable to perform required tail call&#8221; on coroutine symmetric transfer under \/arch:AVX2<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/regression-C4865-does-not-print-the-cu\/11140542\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"C4865 does not print the current underlying type (Opens in new window or tab)\">C4865 does not print the current underlying type<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/compiler-does-not-emit-implicit-return-0\/10954869\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"compiler does not emit implicit return 0 from main after catch with empty loop construct (Opens in new window or tab)\">compiler does not emit implicit return 0 from main after catch with empty loop construct<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Compiler-fails-to-emit-C4874-unless-the-\/11148624\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Compiler fails to emit C4874 unless the target type defines an assignment operator overload (Opens in new window or tab)\">Compiler fails to emit C4874 unless the target type defines an assignment operator overload<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-x64-optimizer-folds-two-consecutive\/11155532\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Consecutive packed absolute-value intrinsics are incorrectly removed (Opens in new window or tab)\">Consecutive packed absolute-value intrinsics are incorrectly removed<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/constexpr-function-returning-consteval-c\/10924453\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"constexpr function returning consteval ctor fails with MSVC C7595 (Opens in new window or tab)\">constexpr function returning consteval ctor fails with MSVC C7595<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Copy-elision-erroneously-applied-to-base\/1646223\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Copy elision erroneously applied to base class construction (Opens in new window or tab)\">Copy elision erroneously applied to base class construction<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/CTAD-with-designated-initializer-doesnt\/11040709\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"CTAD with designated initializer doesn't compile (Opens in new window or tab)\">CTAD with designated initializer doesn&#8217;t compile<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/CWG2813:-extra-move-in-calling-of-explic\/10817483\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"CWG2813: extra move in calling of explicit object member function (Opens in new window or tab)\">CWG2813: extra move in calling of explicit object member function<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/CWG3129-Error-on-overflow-in-floating-po\/11066885\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"CWG3129 Error on overflow in floating-point literal instead of infinity (Opens in new window or tab)\">CWG3129 Error on overflow in floating-point literal instead of infinity<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Debugger-showing-incorrect-types-in-incr\/11073049\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Debugger showing incorrect types in incrementally linked PDBs (Opens in new window or tab)\">Debugger showing incorrect types in incrementally linked PDBs<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity2.visualstudio.com\/t\/Default-switch-case-being-optimized-away\/1329375\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Default switch case being optimized away in debug (Opens in new window or tab)\">Default switch case being optimized away in debug<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Enclave-C-runtime-1952preview-breaks-on\/11155092\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Enclave C runtime 19.52preview breaks on Server2022 because IsProcessorFeaturePresent. (Opens in new window or tab)\">Enclave C runtime 19.52preview breaks on Server2022 because IsProcessorFeaturePresent.<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/-\/11060319\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Error message suggests experimental &quot;\/await&quot; instead of conforming &quot;\/await:strict&quot; if coroutines are used in C++17 without command line arg (Opens in new window or tab)\">Error message suggests experimental &#8220;\/await&#8221; instead of conforming &#8220;\/await:strict&#8221; if coroutines are used in C++17 without command line arg<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/HPmdGen-emits-BB1013-BB1027-and-BB0108\/11153041\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"HPmdGen emits BB1013, BB1027, and BB0108 for valid x86 binary\/PDB pairs (Opens in new window or tab)\">HPmdGen emits BB1013, BB1027, and BB0108 for valid x86 binary\/PDB pairs<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/hpmdgenexe-fails-to-write-image-and-PDB\/11155014\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Hpmdgen fails to write an image and PDB with unwind version 3 (Opens in new window or tab)\">Hpmdgen fails to write an image and PDB with unwind version 3<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Hpmdgen-fails:-Zero-prolog-V3-RFE-with-e\/11155015\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Hpmdgen rejects valid unwind version 3 epilogs (Opens in new window or tab)\">Hpmdgen rejects valid unwind version 3 epilogs<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Inability-to-simply-write-coroutine-that\/10929851\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Inability to simply write coroutine that throws an exception (compiler reports different warnings on every optimization level) (Opens in new window or tab)\">Inability to simply write coroutine that throws an exception (compiler reports different warnings on every optimization level)<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Incorrect-coroutine-codegen-when-resumin\/11146009\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Incorrect coroutine codegen when resuming std::noop_coroutine with \/Gz (Opens in new window or tab)\">Incorrect coroutine codegen when resuming std::noop_coroutine with \/Gz<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-x64-optimizer-folds-compare-and-ble\/11155537\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Incorrect signed-zero results from optimized vector compare-and-blend operations (Opens in new window or tab)\">Incorrect signed-zero results from optimized vector compare-and-blend operations<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Incorrectly-permissive-requires-statemen\/10430486\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Incorrectly permissive requires-statement re: negated concepts in C++20 (Opens in new window or tab)\">Incorrectly permissive requires-statement re: negated concepts in C++20<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/InterlockedBitTestAndSet16-is-missing\/10906808\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"InterlockedBitTestAndSet16 is missing. (Opens in new window or tab)\">InterlockedBitTestAndSet16 is missing.<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/internal-compiler-error-arm64-tds_c_even\/11151489\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"internal compiler error arm64 tds_c_events.cpp(6444) 19.52preview (Opens in new window or tab)\">internal compiler error arm64 tds_c_events.cpp(6444) 19.52preview<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-C-front-end-hits-ICE-in-lower-tre\/11145884\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Internal compiler error on valid C++ source (Opens in new window or tab)\">Internal compiler error on valid C++ source<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-arm64-codegen-makes-zlib-ng-deflate\/11087372\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Internal compiler error when compiling ARM64 vector code (Opens in new window or tab)\">Internal compiler error when compiling ARM64 vector code<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity2.visualstudio.com\/t\/Internal-compiler-error-when-using-struc\/418010\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Internal compiler error when using struct containing string followed by union around anonymous structs (Opens in new window or tab)\">Internal compiler error when using struct containing string followed by union around anonymous structs<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/-\/11151612\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Internal compiler error with C++ modules (Opens in new window or tab)\">Internal compiler error with C++ modules<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/LINK-ONFAILREPRO-omits-input-library-fr\/11162340\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"LINK \/ONFAILREPRO omits an input library from failure capture (Opens in new window or tab)\">LINK \/ONFAILREPRO omits an input library from failure capture<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/linkexe-LINK_REPRO-enters-infinite-Crea\/11158847\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"link.exe LINK_REPRO enters infinite CreateFileW retry over MAX_PATH (Opens in new window or tab)\">link.exe LINK_REPRO enters infinite CreateFileW retry over MAX_PATH<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/SanCov-and-POGO-result-in-linker-crash\/10362057\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Linker crashes when combining sanitizer coverage and profile-guided optimization (Opens in new window or tab)\">Linker crashes when combining sanitizer coverage and profile-guided optimization<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/-\/11165296\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Linker crashes with C1001 on x64 and ARM64 (Opens in new window or tab)\">Linker crashes with C1001 on x64 and ARM64<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/linkexe-cvtcil-fails-with-C1001-p2ma\/11148016\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Linker fails with C1001 converting an ARM64X static library (Opens in new window or tab)\">Linker fails with C1001 converting an ARM64X static library<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Linker-fails-with-LNK2055-misaligned-imp\/11141432\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Linker fails with LNK2055 misaligned import tables and LNK1000 (Opens in new window or tab)\">Linker fails with LNK2055 misaligned import tables and LNK1000<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/LNK1000-error-when-linking-with-PGO-\/10641724\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"LNK1000 error when linking with PGO (Opens in new window or tab)\">LNK1000 error when linking with PGO<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-LTCG-link-stalls-at-Generating-code\/11154859\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"LTCG link stalls at Generating code (Opens in new window or tab)\">LTCG link stalls at Generating code<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/LTCG-back-end-1451-misorders-PS_ASSERT\/11096029\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"LTCG misorders a failing assertion before a function call on x64 and ARM64 (Opens in new window or tab)\">LTCG misorders a failing assertion before a function call on x64 and ARM64<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Bad-codegen-at-O1-and-O2:-a-masked-sto\/11159794\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Masked stores lose data under \/O1 and \/O2 (Opens in new window or tab)\">Masked stores lose data under \/O1 and \/O2<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/-\/11139311\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MaXDep fails while processing a DLL (Opens in new window or tab)\">MaXDep fails while processing a DLL<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Miscompile:-constant-evaluator-aliases-t\/11147206\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Miscompile: constant evaluator aliases two distinct string literals used in constexpr initializers (Opens in new window or tab)\">Miscompile: constant evaluator aliases two distinct string literals used in constexpr initializers<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Modules-ICE-when-using-constraint-on-fri\/11022749\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Modules ICE when using constraint on friend function of explicitly instantiated struct template (Opens in new window or tab)\">Modules ICE when using constraint on friend function of explicitly instantiated struct template<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-O1-and-O2-miscompiles-signed-modu\/11125055\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC \/O1 and \/O2 miscompiles signed modulo comparison expression (Opens in new window or tab)\">MSVC \/O1 and \/O2 miscompiles signed modulo comparison expression<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-O2-arch:AVX2-emits-incorrect-stor\/11153214\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC \/O2 \/arch:AVX2 emits incorrect store for highway Reverse on one-lane int32_t (Opens in new window or tab)\">MSVC \/O2 \/arch:AVX2 emits incorrect store for highway Reverse on one-lane int32_t<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-O2-miscompiles-global-assignment-f\/11140883\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC \/O2 miscompiles global assignment followed by XOR operation (Opens in new window or tab)\">MSVC \/O2 miscompiles global assignment followed by XOR operation<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-O2-miscompiles-short-to-unsigned-w\/11127140\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC \/O2 miscompiles short-to-unsigned widening and reuses wrong sign extension (Opens in new window or tab)\">MSVC \/O2 miscompiles short-to-unsigned widening and reuses wrong sign extension<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-O2-miscompiles-signed-char-divisio\/11164772\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC \/O2 miscompiles signed-char division after reversible byte transform (Opens in new window or tab)\">MSVC \/O2 miscompiles signed-char division after reversible byte transform<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-1452-link-fails-with-C1001-when-us\/11144176\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC 14.52 link fails with C1001 when using \/GL, \/LTCG and \/SPGO enabled (Opens in new window or tab)\">MSVC 14.52 link fails with C1001 when using \/GL, \/LTCG and \/SPGO enabled<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-1452-LTCG-reports-C4744-for-incomp\/11132388\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC 14.52 LTCG reports C4744 for incomplete extern when completed struct contains anonymous union (Opens in new window or tab)\">MSVC 14.52 LTCG reports C4744 for incomplete extern when completed struct contains anonymous union<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-1452-regression:-C2079-in-std::get\/11092704\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC 14.52 regression: C2079 in std::getline with C++20 modules (Opens in new window or tab)\">MSVC 14.52 regression: C2079 in std::getline with C++20 modules<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-1952-miscompiles-ffmpeg-for-arm64-\/11077234\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC 19.52 miscompiles ffmpeg for arm64 (h264pred, h264qpel, qpeldsp, intrax8dsp, vp9dsp_8bpp) (Opens in new window or tab)\">MSVC 19.52 miscompiles ffmpeg for arm64 (h264pred, h264qpel, qpeldsp, intrax8dsp, vp9dsp_8bpp)<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-accepts-taking-address-of-rvalue-re\/11156629\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC accepts taking address of rvalue reference in unevaluated context with \/permissive- (Opens in new window or tab)\">MSVC accepts taking address of rvalue reference in unevaluated context with \/permissive-<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-auto-vectorizerfor-AVX-512-mixes-\/11155450\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC auto-vectorizer(for AVX-512) mixes SSE\/VEX\/EVEX without vzeroupper, causing slowdown (~280x) (Opens in new window or tab)\">MSVC auto-vectorizer(for AVX-512) mixes SSE\/VEX\/EVEX without vzeroupper, causing slowdown (~280x)<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-AVX2-codegen-emits-vblendps-mask-16\/11151970\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC AVX2 codegen emits vblendps mask 16 instead of 8 for _mm_blend_ps (Opens in new window or tab)\">MSVC AVX2 codegen emits vblendps mask 16 instead of 8 for _mm_blend_ps<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-Build-Tools-Preview-omits-vcvars-ba\/11142709\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC Build Tools Preview omits vcvars batch files unless Latest is installed (Opens in new window or tab)\">MSVC Build Tools Preview omits vcvars batch files unless Latest is installed<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-C-compiler-types-unary--as-_Bool-i\/11151560\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC C compiler types unary ! as _Bool instead of int in C11\/C17 (Opens in new window or tab)\">MSVC C compiler types unary ! as _Bool instead of int in C11\/C17<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-C-modules-omit-inline-variable-ex\/11149872\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC C++ modules omit inline variable export, causing LNK2001 (Opens in new window or tab)\">MSVC C++ modules omit inline variable export, causing LNK2001<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-C-modules-trigger-C2752-for-parti\/11153173\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC C++ modules trigger C2752 for partial specialization across modules (Opens in new window or tab)\">MSVC C++ modules trigger C2752 for partial specialization across modules<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-C-overload-resolution-reports-C26\/11143435\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC C++ overload resolution reports C2668 for concept shorthand (Opens in new window or tab)\">MSVC C++ overload resolution reports C2668 for concept shorthand<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-C-parser-silently-accepts-range-f\/11155611\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC C++ parser silently accepts range-for statement as function body (Opens in new window or tab)\">MSVC C++ parser silently accepts range-for statement as function body<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-C20-resolves-decltypefuncint-\/11143256\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC C++20 resolves decltype(func&lt;int&gt;) to non-template overload (Opens in new window or tab)\">MSVC C++20 resolves decltype(func&lt;int&gt;) to non-template overload<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-C1001-compiling-constexpr-reference\/11143273\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC C1001 compiling constexpr reference as non-type template parameter (Opens in new window or tab)\">MSVC C1001 compiling constexpr reference as non-type template parameter<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-C2751-rejects-dependent-qualified-a\/11154733\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC C2751 rejects dependent qualified alias packs in lambda parameters (Opens in new window or tab)\">MSVC C2751 rejects dependent qualified alias packs in lambda parameters<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-C5264-falsely-flags-used-static-con\/11171755\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC C5264 falsely flags used static constexpr local in function template (Opens in new window or tab)\">MSVC C5264 falsely flags used static constexpr local in function template<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-compiler-hits-C1001-with-msvc::no\/11164060\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC compiler hits C1001 with [[msvc::no_unique_address]] non-trivial member (Opens in new window or tab)\">MSVC compiler hits C1001 with [[msvc::no_unique_address]] non-trivial member<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-emits-C2280-for-parenthesized-condi\/11161569\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC emits C2280 for parenthesized conditional prvalue copy elision (Opens in new window or tab)\">MSVC emits C2280 for parenthesized conditional prvalue copy elision<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-emits-C2718-for-over-aligned-argume\/11141150\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC emits C2718 for over-aligned argument with C-style variadic overload (Opens in new window or tab)\">MSVC emits C2718 for over-aligned argument with C-style variadic overload<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-emits-spurious-C2397-for-member-poi\/11156518\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC emits spurious C2397 for member-pointer comparison in base initializer (Opens in new window or tab)\">MSVC emits spurious C2397 for member-pointer comparison in base initializer<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-fails-to-cold-path-_MSVC_STL_HARDEN\/11139322\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC fails to cold-path _MSVC_STL_HARDENING bounds checks, hurting performance (Opens in new window or tab)\">MSVC fails to cold-path _MSVC_STL_HARDENING bounds checks, hurting performance<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-falsely-emits-C2039-on-unordered_se\/11170626\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC falsely emits C2039 on unordered_set::size in a template containing a lambda and range-for loop (Opens in new window or tab)\">MSVC falsely emits C2039 on unordered_set::size in a template containing a lambda and range-for loop<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-incorrectly-accepts-using-built-in-\/11151627\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC incorrectly accepts using built-in operator&amp; on rvalues in C++20 concepts (Opens in new window or tab)\">MSVC incorrectly accepts using built-in operator&amp; on rvalues in C++20 concepts<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-incorrectly-emits-C4499-for-static-\/11160903\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC incorrectly emits C4499 for static const template class member specializations (Opens in new window or tab)\">MSVC incorrectly emits C4499 for static const template class member specializations<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-incorrectly-rejects-conversion-func\/11158450\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC incorrectly rejects conversion function returning decltype containing generic lambda (Opens in new window or tab)\">MSVC incorrectly rejects conversion function returning decltype containing generic lambda<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-loop-optimizer-drops-whilecur--n\/11103719\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC loop optimizer drops while(cur != nullptr) check, causing 0xC0000005 (Opens in new window or tab)\">MSVC loop optimizer drops while(cur != nullptr) check, causing 0xC0000005<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-modules-emit-C2871-for-using-direct\/11164692\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC modules emit C2871 for using-directive in global-fragment template (Opens in new window or tab)\">MSVC modules emit C2871 for using-directive in global-fragment template<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-optimizer-ICE-C1001-compiling-loop-\/11092858\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC optimizer ICE C1001 compiling loop with pointer arithmetic in C (Opens in new window or tab)\">MSVC optimizer ICE C1001 compiling loop with pointer arithmetic in C<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-optimizer-miscompiles-under-O2\/11117110\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC optimizer miscompiles under \/O2 (Opens in new window or tab)\">MSVC optimizer miscompiles under \/O2<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-optimizer-miscompiles-unsigned-long\/11133420\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC optimizer miscompiles unsigned long long arithmetic under \/O2 vs \/Od (Opens in new window or tab)\">MSVC optimizer miscompiles unsigned long long arithmetic under \/O2 vs \/Od<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-rejects-some-uses-trailing-return-t\/11141431\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC rejects some uses trailing return type in member function templates (Opens in new window or tab)\">MSVC rejects some uses trailing return type in member function templates<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-rejects-stdexec::sync_wait-with-C26\/11148836\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC rejects stdexec::sync_wait with C2672 in __variant::__visit (Opens in new window or tab)\">MSVC rejects stdexec::sync_wait with C2672 in __variant::__visit<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-rejects-valid-concepts-using-explic\/11144079\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC rejects valid concepts using explicitly deleted functions with C1903 (Opens in new window or tab)\">MSVC rejects valid concepts using explicitly deleted functions with C1903<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-should-bump-__cpp_constexpr-to-2022\/11142415\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC should bump __cpp_constexpr to 202211L in C++23 and later modes (Opens in new window or tab)\">MSVC should bump __cpp_constexpr to 202211L in C++23 and later modes<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-skips-aggregate-initializer-for-emp\/11160652\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC skips aggregate initializer for empty [[msvc::no_unique_address]] member (Opens in new window or tab)\">MSVC skips aggregate initializer for empty [[msvc::no_unique_address]] member<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-x64-optimizer-miscompiles-__forcein\/11164771\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC x64 optimizer miscompiles __forceinline decode under \/O2 \/Ob1 (Opens in new window or tab)\">MSVC x64 optimizer miscompiles __forceinline decode under \/O2 \/Ob1<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-x86-LTCG-drops-conditional-malloc-s\/11144471\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"MSVC x86 LTCG drops conditional malloc size term, causing 0xC0000374 (Opens in new window or tab)\">MSVC x86 LTCG drops conditional malloc size term, causing 0xC0000374<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Numerical-error-in-ARM-Neon-vqrshrnh_n_\/11148967\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Numerical error in ARM Neon vqrshrnh_n_u16 intrinsic (Opens in new window or tab)\">Numerical error in ARM Neon vqrshrnh_n_u16 intrinsic<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/-\/11165181\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"OpenMP with \/GL passes an invalid thread identifier to an orphaned parallel loop (Error #132) (Opens in new window or tab)\">OpenMP with \/GL passes an invalid thread identifier to an orphaned parallel loop (Error #132)<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Potential-ABI-break-between-MSVC-1451-a\/11153122\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Potential ABI break between MSVC 14.51 and 14.52 Preview causing Boost.Serialization runtime failure (Opens in new window or tab)\">Potential ABI break between MSVC 14.51 and 14.52 Preview causing Boost.Serialization runtime failure<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/std::is_constructible_v-fails-to-compile\/10988055\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"std::is_constructible_v fails to compile with private destructor in C++20 (Opens in new window or tab)\">std::is_constructible_v fails to compile with private destructor in C++20<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/arm64-suboptimal-code-gen-for-value-cl\/10023831\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Suboptimal ARM64 code generation for value clipping (Opens in new window or tab)\">Suboptimal ARM64 code generation for value clipping<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/-\/10978455\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Suboptimal code generation for dynamic bit extraction (Opens in new window or tab)\">Suboptimal code generation for dynamic bit extraction<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/-\/10858165\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Suboptimal code generation for narrow integer multiplication (Opens in new window or tab)\">Suboptimal code generation for narrow integer multiplication<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Template-member-function-definitions-in-\/10996552\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Template member function definitions in a different module partition fail to be emitted (Opens in new window or tab)\">Template member function definitions in a different module partition fail to be emitted<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/The-C2039:-nullopt:-is-not-a-member-o\/11099621\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"The &quot;C2039: 'nullopt': is not a member of 'std'&quot; error when compiling as a C++20 module (Opens in new window or tab)\">The &#8220;C2039: &#8216;nullopt&#8217;: is not a member of &#8216;std'&#8221; error when compiling as a C++20 module<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Using-the-spaceship-operator-produces-wo\/10619302\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Using the spaceship operator produces worse code (Opens in new window or tab)\">Using the spaceship operator produces worse code<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-vectorizer-crashes-on-CitySample-AP\/11141061\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Vectorizer crashes when compiling APX-enabled code (Opens in new window or tab)\">Vectorizer crashes when compiling APX-enabled code<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Visual-C-__vectorcall-__m128i-member-a\/11138725\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Visual C++ __vectorcall __m128i member access triggers C1001 ICE (Opens in new window or tab)\">Visual C++ __vectorcall __m128i member access triggers C1001 ICE<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Visual-Studio-gets-stuck-while-inlining\/11133354\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Visual Studio gets stuck while inlining (Opens in new window or tab)\">Visual Studio gets stuck while inlining<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/x64-O2-bad-codegen:-integer-add-emitted\/11161695\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"x64 \/O2 bad codegen: integer add emitted as addsd\/vaddsd in unrolled loop with single-member struct (Opens in new window or tab)\">x64 \/O2 bad codegen: integer add emitted as addsd\/vaddsd in unrolled loop with single-member struct<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/x64-optimizer-incorrectly-removes-unsign\/11143770\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"x64 optimizer incorrectly removes unsigned short bit-15 test under \/O2 (Opens in new window or tab)\">x64 optimizer incorrectly removes unsigned short bit-15 test under \/O2<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/x64-optimized-synchronous-exception-mo\/11155132\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"x64, optimized, synchronous exception model: a coroutine whose final_suspend() returns suspend_never skips the destructors of its locals and leaks (Opens in new window or tab)\">x64, optimized, synchronous exception model: a coroutine whose final_suspend() returns suspend_never skips the destructors of its locals and leaks<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/x86-O2-codegen-emits-CRC32-with-incorre\/11161126\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"x86 \/O2 codegen emits CRC32 with incorrect destination operand (Opens in new window or tab)\">x86 \/O2 codegen emits CRC32 with incorrect destination operand<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/x86-32-bit-release-builds-corrupting-SSE\/1445836\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"x86 32-bit release builds corrupting SSE vector variable (Opens in new window or tab)\">x86 32-bit release builds corrupting SSE vector variable<\/a><\/li>\n<\/ul>\n<h2 id=\"user-content-try-out-the-msvc-build-tools-preview!\">Try Out the MSVC Build Tools Preview!<\/h2>\n<p>Please try out the MSVC Build Tools Preview and let us know what you think! Installation instructions:<\/p>\n<ol>\n<li><a href=\"https:\/\/visualstudio.microsoft.com\/insiders\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Download Visual Studio 2026 Insiders (Opens in new window or tab)\">Download Visual Studio 2026 Insiders<\/a> for frequent updates, or <a href=\"https:\/\/visualstudio.microsoft.com\/\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"download Visual Studio 2026 (Opens in new window or tab)\">download Visual Studio 2026<\/a> for less frequent updates.<\/li>\n<li>Install the Desktop development with C++ workload and make sure one or both of these MSVC components are checked (depending on your target build architecture):\n<ul>\n<li>MSVC Build Tools for x64\/x86 (Preview)<\/li>\n<li>MSVC Build Tools for ARM64\/ARM64EC (Preview)<\/li>\n<\/ul>\n<\/li>\n<li>Follow the instructions on <a href=\"https:\/\/aka.ms\/msvc\/preview\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"https:\/\/aka.ms\/msvc\/preview (Opens in new window or tab)\">https:\/\/aka.ms\/msvc\/preview<\/a> on configuring your IDE &amp; command prompts to use the MSVC Build Tools Preview.<\/li>\n<li>Share your feedback with us on <a href=\"https:\/\/developercommunity.visualstudio.com\/cpp\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Visual Studio Developer Community (Opens in new window or tab)\">Visual Studio Developer Community<\/a> .<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>The MSVC Build Tools Preview is updated regularly with the latest features and fixes from the MSVC development team. This post covers the last month&#8217;s updates of the Preview build tools, currently targeting the v14.53 release. This encompasses changes across the compiler frontend, backend, linker, standard library, and related tools. Although you can acquire the [&hellip;]<\/p>\n","protected":false},"author":1711,"featured_media":36687,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[3963],"tags":[],"class_list":["post-37111","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-msvc"],"acf":[],"blog_post_summary":"<p>The MSVC Build Tools Preview is updated regularly with the latest features and fixes from the MSVC development team. This post covers the last month&#8217;s updates of the Preview build tools, currently targeting the v14.53 release. This encompasses changes across the compiler frontend, backend, linker, standard library, and related tools. Although you can acquire the [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/37111","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/users\/1711"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/comments?post=37111"}],"version-history":[{"count":1,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/37111\/revisions"}],"predecessor-version":[{"id":37112,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/37111\/revisions\/37112"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/media\/36687"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/media?parent=37111"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/categories?post=37111"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/tags?post=37111"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}