{"id":36862,"date":"2026-09-09T21:26:30","date_gmt":"2026-09-09T21:26:30","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/cppblog\/?p=36862"},"modified":"2026-09-09T21:26:30","modified_gmt":"2026-09-09T21:26:30","slug":"msvc-build-tools-preview-updates-september-2026","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/cppblog\/msvc-build-tools-preview-updates-september-2026\/","title":{"rendered":"MSVC Build Tools Preview updates \u2013 September 2026"},"content":{"rendered":"<p class=\"code-line\" dir=\"auto\" data-line=\"10\">The MSVC Build Tools Preview is updated regularly with the latest features and fixes from the MSVC development team. This post covers updates from the past month, currently targeting the v14.52 release. This encompasses changes across the compiler frontend, backend, linker, standard library, and related tools.<\/p>\n<p class=\"code-line\" dir=\"auto\" data-line=\"12\">Although you can acquire the MSVC Build Tools Preview through either the Visual Studio 2026\u00a0<a href=\"https:\/\/visualstudio.microsoft.com\/\" data-href=\"https:\/\/visualstudio.microsoft.com\">Stable Channel<\/a>\u00a0or\u00a0<a href=\"https:\/\/visualstudio.microsoft.com\/insiders\" data-href=\"https:\/\/visualstudio.microsoft.com\/insiders\">Insiders Channel<\/a>, Insiders gets MSVC Preview updates more quickly (roughly weekly).<\/p>\n<p class=\"code-line\" dir=\"auto\" data-line=\"14\">To check whether it is installed, make sure one or both of these components are selected in the Visual Studio Installer:<\/p>\n<ol class=\"code-line\" dir=\"auto\" data-line=\"16\">\n<li class=\"code-line\" dir=\"auto\" data-line=\"16\">MSVC Build Tools for x64\/x86 (Preview)<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"17\">MSVC Build Tools for ARM64\/ARM64EC (Preview)<\/li>\n<\/ol>\n<p class=\"code-line\" dir=\"auto\" data-line=\"19\">Follow the instructions at\u00a0<a href=\"https:\/\/aka.ms\/msvc\/preview\" data-href=\"https:\/\/aka.ms\/msvc\/preview\">https:\/\/aka.ms\/msvc\/preview<\/a>\u00a0to configure your IDE and command prompts to use the MSVC Build Tools Preview.<\/p>\n<p class=\"code-line\" dir=\"auto\" data-line=\"21\">The version number printed by cl.exe and link.exe will be at least 19.52.36725 \/ 14.52.36725.<\/p>\n<p class=\"code-line\" dir=\"auto\" data-line=\"23\">We appreciate your feedback. Please report issues through\u00a0<a href=\"https:\/\/developercommunity.visualstudio.com\/cpp\" data-href=\"https:\/\/developercommunity.visualstudio.com\/cpp\">Visual Studio Developer Community<\/a>\u00a0so we can address them before the toolset moves out of preview.<\/p>\n<h3 id=\"c-conformance-and-frontend\" class=\"code-line\" dir=\"auto\" data-line=\"25\">C++ Conformance and Frontend<\/h3>\n<ul class=\"code-line\" dir=\"auto\" data-line=\"27\">\n<li class=\"code-line\" dir=\"auto\" data-line=\"27\">Brought the\u00a0<code>C4815<\/code>\u00a0and\u00a0<code>C4816<\/code>\u00a0warnings (zero-sized arrays and by-value parameters that are copied) to the C compiler.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"28\">Improved diagnostics for preprocessor constant expressions, including better reporting of malformed and nested conditions.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"29\">Improved the source text shown in several diagnostics so the reported expression better matches what you wrote.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"30\">Fixed rejection of valid constexpr\u00a0<code>void*<\/code>\u00a0variables.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"31\">Unified the behavior of type traits when their preconditions are not satisfied.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"32\">Added validation of the symbols entered into function parameter scopes, catching malformed declarations earlier.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"33\">Fixed a compiler crash when computing the size of a dependent type in some Qt code patterns.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"34\">Fixed an internal compiler error triggered by a name lookup on an imported using-declaration that names an overload set.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"35\">Fixed an internal compiler error involving constraint failures in tuple-like structured bindings.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"36\">Fixed a missing access check when taking the address of a static member.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"37\">Fixed overload resolution failures (<code>C2672<\/code>) when passing certain reference wrappers.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"38\">Fixed a rare race condition in\u00a0<code>cl.exe<\/code>\u00a0when releasing intermediate buffers.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"39\">Fixed a spurious\u00a0<code>C4739<\/code>\u00a0warning reported against compiler-generated temporaries.<\/li>\n<\/ul>\n<h3 id=\"c-modules\" class=\"code-line\" dir=\"auto\" data-line=\"41\">C++ Modules<\/h3>\n<ul class=\"code-line\" dir=\"auto\" data-line=\"43\">\n<li class=\"code-line\" dir=\"auto\" data-line=\"43\">Fixed argument-dependent lookup of an unresolved template-id across a module boundary.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"44\">Fixed instantiation of a defaulted function when the instantiation crosses module units.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"45\">Preserved macro whitespace when building and consuming header units, so stringized macros round-trip correctly.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"46\">Improved handling of types first defined in the global module fragment.<\/li>\n<\/ul>\n<h3 id=\"code-generation-and-optimization\" class=\"code-line\" dir=\"auto\" data-line=\"48\">Code Generation and Optimization<\/h3>\n<p class=\"code-line\" dir=\"auto\" data-line=\"50\"><strong>ARM64 improvements:<\/strong><\/p>\n<ul class=\"code-line\" dir=\"auto\" data-line=\"52\">\n<li class=\"code-line\" dir=\"auto\" data-line=\"52\">Added support for the FEAT_CSSC common short sequence compression instructions.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"53\">Added intrinsics for FEAT_FAMINMAX (floating-point absolute minimum\/maximum).<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"54\">Implemented the FEAT_LUT LUTI4 lookup-table instructions, and added bf16 support for the LUTI2 and LUTI4 intrinsics.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"55\">Recognized\u00a0<code>copysign<\/code>\u00a0as an inline intrinsic.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"56\">Hoisted loop-invariant SVE all-true predicates out of loop bodies.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"57\">Modeled condition flags for SVE compares and the\u00a0<code>MATCH<\/code>\/<code>NMATCH<\/code>\u00a0and\u00a0<code>WHILE<\/code>\u00a0instruction families, enabling more flag reuse.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"58\">Fused a NEON-to-SVE bridge of an undefined vector into a single instruction, and improved register allocation preferences for bridge moves.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"59\">Added support for\u00a0<code>__preserve_none<\/code>\u00a0and\u00a0<code>[[msvc::musttail]]<\/code>.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"60\">Improved extraction of a 32-bit float from the upper half of a two-element vector.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"61\">Added more NEON by-element multiply patterns and better indirect-addressing support in the instruction selector.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"62\">Fixed ARM64X coroutine tail calls when Control Flow Guard is enabled.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"63\">Fixed an internal compiler error when emitting debug information for an unused constant parameter.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"64\">Fixed lowering of guest-reference imports for ARM64EC under LTCG.<\/li>\n<\/ul>\n<p class=\"code-line\" dir=\"auto\" data-line=\"66\"><strong>x64 and x86 improvements:<\/strong><\/p>\n<ul class=\"code-line\" dir=\"auto\" data-line=\"68\">\n<li class=\"code-line\" dir=\"auto\" data-line=\"68\">Broad APX improvements: additional NDD (new data destination) instruction patterns and tuning for memory operand forms, conversion of NDD\u00a0<code>INC<\/code>\/<code>DEC<\/code>\u00a0and\u00a0<code>SUB<\/code>\u00a0sequences into shorter\u00a0<code>LEA<\/code>\u00a0forms, extended shift, compare, and conditional-move optimizations, APX awareness in the constant-propagation lattice, and APX-aware loop unrolling and strength-reduction cost models.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"69\">Added conditional-compare (<code>CFCMOV<\/code>) optimizations.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"70\">Preferred the shorter\u00a0<code>LEA<\/code>\u00a0encoding over\u00a0<code>ADD<\/code>\u00a0where it is profitable.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"71\">Added AVX2 and AVX-512\u00a0<code>memchr<\/code>\u00a0implementations and updated the\u00a0<code>memcpy<\/code>\u00a0selection for AMD processors.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"72\">Removed a redundant register copy before broadcasting a scalar double to a vector.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"73\">Fixed selection of horizontal add for 128-bit 32-bit-float reductions.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"74\">Improved the accuracy of shift-result range tracking by modeling the hardware shift-count mask.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"75\">Improved combining of adjacent vector stores for two-element double vectors.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"76\">Fixed vector register zeroing after block initialization sequences.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"77\">Fixed AVX-512 upper-register usage to follow the enclosing function&#8217;s architecture rather than the module&#8217;s.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"78\">Fixed non-deterministic code generation for floating-point and vector zero constants.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"79\">Removed the deprecated AMX\u00a0<code>TMMULTF32PS<\/code>\u00a0instruction.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"80\">Added fixed-register constraints for\u00a0<code>RDPRU<\/code>.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"81\">Stopped re-aligning EVEX-encoded instructions in a way that could change encodings.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"82\">Improved code size when compiling with\u00a0<code>\/O1<\/code>\u00a0and\u00a0<code>\/Os<\/code>\u00a0by running additional pre-allocation optimizations and adjusting instruction costs for size.<\/li>\n<\/ul>\n<p class=\"code-line\" dir=\"auto\" data-line=\"84\"><strong>Optimizer improvements:<\/strong><\/p>\n<ul class=\"code-line\" dir=\"auto\" data-line=\"86\">\n<li class=\"code-line\" dir=\"auto\" data-line=\"86\">Enabled a new aliased copy-propagation pass, which also recognizes\u00a0<code>memset<\/code>\u00a0and\u00a0<code>memcpy<\/code>\u00a0and hoists loop-invariant aliased loads.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"87\">Improved the pre-vectorizer&#8217;s loop unswitching to handle nested loops, unblocking vectorization in more cases.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"88\">Recognized sub-accumulate reduction patterns in the vectorizer.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"89\">Improved vectorization of phi nodes in the superword-level parallelism pass.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"90\">Improved inlining heuristics: penalized inlining cold code into hot code.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"91\">Extended min\/max canonicalization through single-use address copies.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"92\">Folded mixed-signedness compare-branch diamonds into a single compare.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"93\">Enabled common-subexpression elimination for vector element extraction.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"94\">Enabled tail-call optimization for indirect calls to\u00a0<code>noexcept<\/code>\u00a0functions.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"95\">Restored elision of static constant arrays.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"96\">Improved conditional-expression optimization when the compared value comes from a phi, and allowed more conditional-expression forms on x64.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"97\">Added an overflow check to predicate reasoning, and avoided merging conditional expressions whose comparisons differ in signedness.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"98\">Extended copy propagation with extended-basic-block analysis.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"99\">Improved compile time by avoiding repeated exception-handling region scans and by bounding dead-use searches that could hang x86 LTCG links.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"100\">Fixed a shrink-wrapping bug where register restores were chained to the wrong block.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"101\">Fixed a stack overflow caused by unbounded recursion while processing structured exception handling.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"102\">Fixed an internal compiler error involving non-COMDAT segments.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"103\">Fixed a use-after-free and a use-before-def in the SSA optimizer.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"104\">Fixed scalar replacement of aggregates for certain multi-byte types.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"105\">Prevented cross-module Just My Code marker collisions under LTCG.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"106\">Preserved loop-invariant dominance in the loop unroller, and fixed range inference for mutable symbols.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"107\">Fixed an incorrect simplification of unsigned shift-right of a multiplication.<\/li>\n<\/ul>\n<h3 id=\"debug-information\" class=\"code-line\" dir=\"auto\" data-line=\"109\">Debug Information<\/h3>\n<ul class=\"code-line\" dir=\"auto\" data-line=\"111\">\n<li class=\"code-line\" dir=\"auto\" data-line=\"111\">Continued work to support debug-information streams up to 4 GB, including a refactoring of the underlying buffer layer and a new public stream API.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"112\">Added debug-record support for alternate object names, so tools can report the originating object file more accurately.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"113\">Fixed the mapping from declarations to definitions in emitted debug information.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"114\">Reported debug thread-pool startup failures as a diagnostic instead of terminating.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"115\">Reduced allocations in type-record processing, improving throughput on large programs.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"116\">Fixed a DIA stack overflow on cyclic type-index references when reading corrupt PDBs.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"117\">Fixed cross-PDB type-index cache contamination in the PDB server (mspdbsrv.exe).<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"118\">Fixed object counting while reading a library in the object reader.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"119\">Added a switch to emit type aliases into debug records for improved debugging.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"120\">Rejected an unsupported DIA write-back API parameter value.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"121\">Retired writing of the obsolete minimal\/fastlink PDB format.<\/li>\n<\/ul>\n<h3 id=\"linker-and-assembler\" class=\"code-line\" dir=\"auto\" data-line=\"123\">Linker and Assembler<\/h3>\n<ul class=\"code-line\" dir=\"auto\" data-line=\"125\">\n<li class=\"code-line\" dir=\"auto\" data-line=\"125\">Named the metadata item responsible for\u00a0<code>LNK2022<\/code>\u00a0and\u00a0<code>LNK4227<\/code>, making mismatched metadata far easier to diagnose.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"126\">Improved error reporting from the assembler.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"127\">Disabled early-exit epilog sharing for the newer unwind format, correcting unwind behavior.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"128\">Fixed a crash when incrementally relinking a resource-only DLL.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"129\">Fixed incremental relink tracking of weak external symbols.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"130\">Fixed an access violation while emitting symbols for a discarded duplicate COMDAT.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"131\">Fixed a null-dereference (previously reported as\u00a0<code>LNK1000<\/code>) when linking a COMDAT section with no symbols; it now produces the diagnostic\u00a0<code>LNK1143<\/code>.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"132\">Fixed a\u00a0<code>link.exe \/dump<\/code>\u00a0crash on a malformed debug directory, and a\u00a0<code>dumpilk \/symbols<\/code>\u00a0crash on valid incremental-link files.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"133\">Fixed an access violation in\u00a0<code>dumpbin \/UNWINDINFO<\/code>\u00a0on an out-of-range register value.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"134\">Hardened parsing of malformed object files, libraries, and C++ module metadata across the linker and its dump tools.<\/li>\n<\/ul>\n<h3 id=\"static-analysis\" class=\"code-line\" dir=\"auto\" data-line=\"136\">Static Analysis<\/h3>\n<ul class=\"code-line\" dir=\"auto\" data-line=\"138\">\n<li class=\"code-line\" dir=\"auto\" data-line=\"138\">Replaced several ad-hoc groupings of analysis warnings with a tag-based system, making rule sets easier to author.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"139\">Added names and descriptions to code-analysis warnings so SARIF viewers can display them.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"140\">Fixed ATL and MFC headers to build cleanly under stricter conformance settings, including replacing\u00a0<code>throw()<\/code>\u00a0with\u00a0<code>noexcept<\/code>\u00a0in\u00a0<code>atlcom.h<\/code>\u00a0and removing an ill-formed cast.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"141\">Removed an invalid\u00a0<code>typename<\/code>\u00a0before an unqualified template-id in the concurrency headers.<\/li>\n<\/ul>\n<h3 id=\"addresssanitizer\" class=\"code-line\" dir=\"auto\" data-line=\"143\">AddressSanitizer<\/h3>\n<ul class=\"code-line\" dir=\"auto\" data-line=\"145\">\n<li class=\"code-line\" dir=\"auto\" data-line=\"145\">Fixed an ARM64 correctness issue involving page writes and instruction handling.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"146\">Improved runtime performance by removing duplicated quarantine work.<\/li>\n<\/ul>\n<h3 id=\"standard-library\" class=\"code-line\" dir=\"auto\" data-line=\"148\">Standard Library<\/h3>\n<ul class=\"code-line\" dir=\"auto\" data-line=\"150\">\n<li class=\"code-line\" dir=\"auto\" data-line=\"150\">See\u00a0<a href=\"https:\/\/github.com\/microsoft\/STL\/wiki\/Changelog\" data-href=\"https:\/\/github.com\/microsoft\/STL\/wiki\/Changelog\">https:\/\/github.com\/microsoft\/STL\/wiki\/Changelog<\/a>\u00a0for details on STL improvements in the MSVC Build Tools Preview.<\/li>\n<\/ul>\n<h2 id=\"tickets-fixed\" class=\"code-line\" dir=\"auto\" data-line=\"152\">Tickets Fixed<\/h2>\n<p class=\"code-line\" dir=\"auto\" data-line=\"154\">The following tickets reported through Developer Community have been fixed in this update:<\/p>\n<ul class=\"code-line\" dir=\"auto\" data-line=\"156\">\n<li class=\"code-line\" dir=\"auto\" data-line=\"156\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/C-structs-containing-only-a-flexible-arr\/11086085\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/C-structs-containing-only-a-flexible-arr\/11086085\">[C] C structs containing only a flexible array member can have size not a multiple of alignment<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"157\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MLexe-Assembly-Errors-AMX-instructio\/10698677\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/MLexe-Assembly-Errors-AMX-instructio\/10698677\">[ML.exe] Assembly Errors (AMX instructions)<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"158\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/No-compiler-error-for-lambdas-with-undef\/11131709\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/No-compiler-error-for-lambdas-with-undef\/11131709\">[NEG][Regression] No compiler error for lambdas with undefined const ref\/pointer parameter types<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"159\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/C-compiler-rejects-some-character-in-i\/11127845\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/C-compiler-rejects-some-character-in-i\/11127845\">[Regression] C++ compiler rejects some character in identifiers under \/std:c++latest that are allowed in the draft standard<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"160\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Compiler-error-message-misspells-statem\/11134842\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/Compiler-error-message-misspells-statem\/11134842\">[Regression] Compiler error message misspells &#8220;statement&#8221; as &#8220;statment&#8221;<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"161\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/ICE-with-MSVC-Insiders-Preview-1952365\/11121327\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/ICE-with-MSVC-Insiders-Preview-1952365\/11121327\">[Regression] ICE with MSVC Insiders Preview 19.52.36530<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"162\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Internal-Compiler-Error-C1001-in-MSVC-\/11117190\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/Internal-Compiler-Error-C1001-in-MSVC-\/11117190\">[Regression] Internal Compiler Error (C1001) in MSVC v14.51 ARM64 compiling ARM SVE intrinsics (arm_sve.h)<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"163\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Internal-Compiler-Error-with-ARM-SVE:-sv\/11102858\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/Internal-Compiler-Error-with-ARM-SVE:-sv\/11102858\">[Regression] Internal Compiler Error with ARM SVE: svdupq_n_* + Pointer to vector with \/RTCs<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"164\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-d1initall1023-triggers-C3321-in-s\/11090099\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-d1initall1023-triggers-C3321-in-s\/11090099\">[Regression] MSVC \/d1initall1023 triggers C3321 in &lt;shared_mutex&gt;<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"165\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-1951-O2-regression-increases-C2\/11133102\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-1951-O2-regression-increases-C2\/11133102\">[Regression] MSVC 19.51 \/O2 regression increases C++20 coroutine frame sizes ~18x under \/O2<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"166\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-compiler-ICE-regression-building-Qt\/11106131\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-compiler-ICE-regression-building-Qt\/11106131\">[Regression] MSVC compiler ICE regression building QtWebEngine with Google Highway code<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"167\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-linker-incremental-linking-hits-LNK\/11116635\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-linker-incremental-linking-hits-LNK\/11116635\">[Regression] MSVC linker incremental linking hits LNK1000 in IMAGE::EmitRelocations<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"168\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-Release-optimizer-reorders-position\/11091896\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-Release-optimizer-reorders-position\/11091896\">[Regression] MSVC Release optimizer reorders position of if block and skips reachable code with cout<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"169\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-x64-O2-folds-memcpy-of-constant-in\/11124169\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-x64-O2-folds-memcpy-of-constant-in\/11124169\">[Regression] MSVC x64 \/O2 folds memcpy of constant int array into wrong memset<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"170\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/regression-throw-from-destructor-insid\/10660417\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/regression-throw-from-destructor-insid\/10660417\">[Regression] throw from destructor inside catch block raises bogus C4530<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"171\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-doesnt-drop-cv-qualification-from-\/11116935\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-doesnt-drop-cv-qualification-from-\/11116935\">[Regression][std:c++17] MSVC doesn&#8217;t drop cv-qualification from the result of operator const T() conversion function when T is a scalar type<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"172\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/SFINAE-probe-of-a-member-call-instantiat\/11116820\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/SFINAE-probe-of-a-member-call-instantiat\/11116820\">[Regression][std:c++17] SFINAE probe of a member call instantiates same-named enclosing-namespace function template; unbounded memory use (C1060) in 19.51<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"173\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/_Regression-in-195236615:-C4864-expe\/11136619\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/_Regression-in-195236615:-C4864-expe\/11136619\">[Regression][std:c++20] Regression in 19.52.36615: C4864 (&#8220;expected &#8216;template&#8217; keyword before dependent template name&#8221;) now over-fires<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"174\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/C20-nested-template-lambda-deduces-lam\/11117077\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/C20-nested-template-lambda-deduces-lam\/11117077\">[Regression][std:c++20] C++20 nested template lambda deduces lambda&#8217;s type as int regression<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"175\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Compiler-emits-warning-C4864-for-alias-t\/11129598\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/Compiler-emits-warning-C4864-for-alias-t\/11129598\">[Regression][std:c++20] Compiler emits warning C4864 for alias template member access in a namespace<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"176\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-miscompiles-signed-x--k--0-a\/11131532\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-miscompiles-signed-x--k--0-a\/11131532\">[Regression][std:c++20] MSVC miscompiles signed\u00a0<code>(x &lt;&lt; k) &gt; 0<\/code>\u00a0as\u00a0<code>x &gt; 0<\/code><\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"177\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/C-compiler-emits-erroneous-C2675C2676\/11137036\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/C-compiler-emits-erroneous-C2675C2676\/11137036\">[Regression][std:c++latest] C++ compiler emits erroneous C2675\/C2676\/C2677 for\u00a0<code>requires<\/code>\u00a0clause in generic lambda inside template<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"178\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Visual-C-empty-fold-expression-on--ac\/11138679\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/Visual-C-empty-fold-expression-on--ac\/11138679\">[Regression][std:c++latest] Visual C++ empty fold expression on + accepts invalid code or ICEs C1001<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"179\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-nested-lambda-pack-expansion-emits-\/11125996\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-nested-lambda-pack-expansion-emits-\/11125996\">[Regression][std:c++latest] MSVC nested lambda pack expansion emits C2440 when capturing this<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"180\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Template-parameter-unrecognized-in-noexc\/11133545\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/Template-parameter-unrecognized-in-noexc\/11133545\">[Regression] Template parameter unrecognized in noexcept expression inside template specialization inside class<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"181\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-O1-miscompiles-nested-array-loop-\/11126250\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-O1-miscompiles-nested-array-loop-\/11126250\">[Regression] MSVC \/O1 miscompiles nested array loop, regression from 19.50<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"182\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/CCLI-with-clr-rejects-C20-using-e\/11120680\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/CCLI-with-clr-rejects-C20-using-e\/11120680\">[std:c++20] C++\/CLI with \/clr rejects C++20\u00a0<code>using enum<\/code>\u00a0with error C2868<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"183\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/C20-modules-MSVC-error-C2440-when-defa\/11082697\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/C20-modules-MSVC-error-C2440-when-defa\/11082697\">[std:c++20] C++20 modules MSVC error C2440 when default member initializer uses lambda capturing\u00a0<code>this<\/code><\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"184\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/C7602:-unsatisfied-constraint-escapes-a-\/11131246\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/C7602:-unsatisfied-constraint-escapes-a-\/11131246\">[std:c++20] C7602: unsatisfied constraint escapes a requires-expression in a class template with a parameter pack<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"185\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Cant-initialize-constinit-or-constexpr-\/10958287\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/Cant-initialize-constinit-or-constexpr-\/10958287\">[std:c++20] Can&#8217;t initialize constinit or constexpr references from another variable<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"186\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Compiler-warning-C5264-ignores-maybe_u\/11126470\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/Compiler-warning-C5264-ignores-maybe_u\/11126470\">[std:c++20] Compiler warning C5264 ignores [[maybe_unused]] on const variables<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"187\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Invalid-code-generation-when-using-dedu\/10477170\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/Invalid-code-generation-when-using-dedu\/10477170\">[std:c++20] Invalid code generation when using\u00a0<code>deducing this<\/code>\u00a0in a lambda<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"188\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC:-__pragmaloopno_vector-and-_Pra\/11127877\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC:-__pragmaloopno_vector-and-_Pra\/11127877\">[std:c++20] MSVC: __pragma(loop(no_vector)) and _Pragma(&#8220;loop(no_vector)&#8221;) inside lambdas cause compilation error under \/std:c++20 and \/std:c++latest<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"189\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/C1001:-Internal-compiler-error-Using-st\/11039556\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/C1001:-Internal-compiler-error-Using-st\/11039556\">[std:c++20][Regression] C1001: Internal compiler error. Using std::mutex and \/std:c++20<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"190\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-updated-lambda-processor-Zc:lambd\/11126929\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-updated-lambda-processor-Zc:lambd\/11126929\">[std:c++20][Regression] Regression MSVC 19.51 updated lambda processor (\/Zc:lambda) triggers C2086 redefinition<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"191\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-rejects-range-for-over-C23-auto-c\/11125928\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-rejects-range-for-over-C23-auto-c\/11125928\">[std:c++23preview] MSVC rejects range-for over C++23 auto cast<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"192\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-C2039C2504-when-importing-a-module\/11123095\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-C2039C2504-when-importing-a-module\/11123095\">[std:c++latest] MSVC C2039\/C2504 when importing a module that includes full standalone Asio with io_context::service<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"193\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Modules-Bogus-warning-C5202\/10397891\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/Modules-Bogus-warning-C5202\/10397891\">[std:c++latest] Bogus warning C5202<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"194\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-explicit-object-conversion-operator\/11124956\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-explicit-object-conversion-operator\/11124956\">[std:c++latest] MSVC explicit-object conversion operator misses implicit move, C2664<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"195\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-modules:-exported-template-calling-\/11123133\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-modules:-exported-template-calling-\/11123133\">[std:c++latest] MSVC modules: exported template calling exec::start_detached fails with C2064<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"196\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-rejects-local-struct-NTTP-on-a-lamb\/11126613\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-rejects-local-struct-NTTP-on-a-lamb\/11126613\">[std:c++latest] MSVC rejects local struct NTTP on a lambda nested in another immediately-invoked template lambda<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"197\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Brepro-causes-build-errors-when-VS-Code\/10840547\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/Brepro-causes-build-errors-when-VS-Code\/10840547\">\/Brepro causes build errors when VS Code (its file watcher) is watching for file changes in the output directory<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"198\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/ARM-codegen-overallocates-switch-case-lo\/11084174\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/ARM-codegen-overallocates-switch-case-lo\/11084174\">ARM codegen overallocates switch-case locals, causing kernel stack overflow<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"199\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/ARM64-O2:-wrong-load-instruction-ldrh-\/11073949\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/ARM64-O2:-wrong-load-instruction-ldrh-\/11073949\">ARM64 \/O2: wrong load instruction (ldrh instead of ldrsh) when reloading int8_t from stack<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"200\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/armasm64-drops-symbol-offset-in-adrpadd\/11118860\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/armasm64-drops-symbol-offset-in-adrpadd\/11118860\">armasm64 drops symbol offset in adrp\/add\/ldr<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"201\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/armasm64-ldr-fails-to-reference-later-de\/11118851\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/armasm64-ldr-fails-to-reference-later-de\/11118851\">armasm64 ldr fails to reference later declared symbols<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"202\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/ATLMFC-uses-invalid-nullptr-reinterpret\/11121385\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/ATLMFC-uses-invalid-nullptr-reinterpret\/11121385\">ATL\/MFC uses invalid nullptr reinterpret_cast (14.52 preview)<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"203\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/bbopt-direct-CFGbbopt-exits-with-unhand\/11127098\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/bbopt-direct-CFGbbopt-exits-with-unhand\/11127098\">bbopt direct CFG\/bbopt exits with unhandled exception 0xC0000005 access violation<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"204\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/C-Modules:-C1001-ICE-when-overloading-\/11101903\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/C-Modules:-C1001-ICE-when-overloading-\/11101903\">C++ Modules: C1001 ICE when overloading constrained special member function<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"205\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/C1001:-Internal-Compiler-Error---Access-\/10467846\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/C1001:-Internal-Compiler-Error---Access-\/10467846\">C1001: Internal Compiler Error &#8211; Access Violation Linker<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"206\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Capture-of-constexpr-variable-not-workin\/10190629\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/Capture-of-constexpr-variable-not-workin\/10190629\">Capture of constexpr variable not working inside template lambda<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"207\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/CHPE-VCCRT-__longjmp_internal-prototype-\/11112926\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/CHPE-VCCRT-__longjmp_internal-prototype-\/11112926\">CHPE VCCRT __longjmp_internal prototype mismatch triggers LNK4279 with \/d2hybrid<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"208\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Coverage-Sanitizer-inserts-many-instrume\/11095662\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/Coverage-Sanitizer-inserts-many-instrume\/11095662\">Coverage Sanitizer inserts many instrumentation in the middle of basic blocks<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"209\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Coverage-sanitizer-instrumentation-break\/11095657\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/Coverage-sanitizer-instrumentation-break\/11095657\">Coverage sanitizer instrumentation breaks after optimization passes<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"210\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Incorrect-offset-for-savereg-when-using\/11132046\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/Incorrect-offset-for-savereg-when-using\/11132046\">Incorrect offset for .savereg when using unwind V3 with frame pointer + non-zero offset<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"211\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Leaf-functions-that-return-an-object-wit\/10192397\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/Leaf-functions-that-return-an-object-wit\/10192397\">Leaf functions that return an object with a non-empty destructor allocates stack space<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"212\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Link-LTCG-with-d2hybrid-emits-bad-LoadL\/11119543\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/Link-LTCG-with-d2hybrid-emits-bad-LoadL\/11119543\">Link LTCG with \/d2hybrid emits bad LoadLibraryExW export thunk dereference<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"213\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Miscompilation-of-AArch64-SVE-loop-Vers\/11037473\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/Miscompilation-of-AArch64-SVE-loop-Vers\/11037473\">Miscompilation of AArch64 SVE loop (Version 19.50.35722 for ARM64)<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"214\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-Ox-Optimizer-Incorrectly-Handles-C\/10975201\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-Ox-Optimizer-Incorrectly-Handles-C\/10975201\">MSVC \/Ox Optimizer Incorrectly Handles Control Flow with goto Statements in Nested try-catch Blocks with Exception Re-throwing<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"215\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-backend-C1001-compiling-captured-co\/11103140\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-backend-C1001-compiling-captured-co\/11103140\">MSVC backend C1001 compiling captured coroutine lambda with\u00a0<code>this auto<\/code><\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"216\"><a href=\"https:\/\/developercommunity.visualstudio.com\/content\/problem\/1176414\/msvc-code-gen-error-when-compiling-with-optimizati.html\" data-href=\"https:\/\/developercommunity.visualstudio.com\/content\/problem\/1176414\/msvc-code-gen-error-when-compiling-with-optimizati.html\">MSVC code gen error when compiling with optimizations enabled<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"217\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-fails-to-emit-LD1R-for-DUP-of-scala\/11056877\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-fails-to-emit-LD1R-for-DUP-of-scala\/11056877\">MSVC fails to emit LD1R for DUP of scalar (ARM64)<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"218\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-produces-suboptimal-code-for-NEON-S\/11073659\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/MSVC-produces-suboptimal-code-for-NEON-S\/11073659\">MSVC produces suboptimal code for NEON-SVE Bridge intrinsics [Version 19.51.36223.2 for ARM64 (PREVIEW)]<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"219\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Poor-AVX2-codegen-for-simple-double-load\/10895094\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/Poor-AVX2-codegen-for-simple-double-load\/10895094\">Poor AVX2 codegen for simple double load and broadcasts..<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"220\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Preprocessor-falsely-reports-missing-\/11103192\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/Preprocessor-falsely-reports-missing-\/11103192\">Preprocessor falsely reports missing &#8216;)&#8217; for nested macro conditions<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"221\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Problems-with-msvc-preprocessing-macro-i\/10881770\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/Problems-with-msvc-preprocessing-macro-i\/10881770\">Problems with msvc preprocessing macro implementation (__has_builtin)<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"222\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/SPGO-SPDConvert-fails-with-inconsistent-\/11108695\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/SPGO-SPDConvert-fails-with-inconsistent-\/11108695\">SPGO SPDConvert fails with inconsistent block count<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"223\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/std::swap-of-arrays-of-trivial-type-is-n\/10026749\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/std::swap-of-arrays-of-trivial-type-is-n\/10026749\">std::swap of arrays of trivial type is not getting vectorized<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"224\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/There-is-a-problem-with-MSVC-optimizing-\/10843486\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/There-is-a-problem-with-MSVC-optimizing-\/10843486\">There is a problem with MSVC optimizing the immintrin instruction<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"225\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/vcbit:-When-I-run-a-tool-it-reports-an-\/11102122\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/vcbit:-When-I-run-a-tool-it-reports-an-\/11102122\">vcbit: When I run a tool, it reports an error.<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"226\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Vulcan-dumpexe-dumpNearJumpsCSV-fails-\/11114134\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/Vulcan-dumpexe-dumpNearJumpsCSV-fails-\/11114134\">Vulcan dump.exe \/dumpNearJumpsCSV fails with BB0113 on wof.sys<\/a><\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"227\"><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Windows-MSVC-32-bit-v19-compiler-bug:-ro\/10996577\" data-href=\"https:\/\/developercommunity.visualstudio.com\/t\/Windows-MSVC-32-bit-v19-compiler-bug:-ro\/10996577\">Windows MSVC 32-bit v19 compiler bug: round and convert double to unsigned long long<\/a><\/li>\n<\/ul>\n<h2 id=\"try-out-the-msvc-build-tools-preview\" class=\"code-line\" dir=\"auto\" data-line=\"229\">Try Out the MSVC Build Tools Preview!<\/h2>\n<p class=\"code-line\" dir=\"auto\" data-line=\"231\">Please try out the MSVC Build Tools Preview and let us know what you think! Installation instructions:<\/p>\n<ol class=\"code-line\" dir=\"auto\" data-line=\"233\">\n<li class=\"code-line\" dir=\"auto\" data-line=\"233\"><a href=\"https:\/\/visualstudio.microsoft.com\/insiders\" data-href=\"https:\/\/visualstudio.microsoft.com\/insiders\">Download Visual Studio 2026 Insiders<\/a>\u00a0for frequent updates, or\u00a0<a href=\"https:\/\/visualstudio.microsoft.com\/\" data-href=\"https:\/\/visualstudio.microsoft.com\">download Visual Studio 2026<\/a>\u00a0for less frequent updates.<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"234\">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 class=\"code-line\" dir=\"auto\" data-line=\"235\">\n<li class=\"code-line\" dir=\"auto\" data-line=\"235\">MSVC Build Tools for x64\/x86 (Preview)<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"236\">MSVC Build Tools for ARM64\/ARM64EC (Preview)<\/li>\n<\/ul>\n<\/li>\n<li class=\"code-line\" dir=\"auto\" data-line=\"237\">Follow the instructions on\u00a0<a href=\"https:\/\/aka.ms\/msvc\/preview\" data-href=\"https:\/\/aka.ms\/msvc\/preview\">https:\/\/aka.ms\/msvc\/preview<\/a>\u00a0on configuring your IDE &amp; command prompts to use the MSVC Build Tools Preview.<\/li>\n<li class=\"code-line code-active-line\" dir=\"auto\" data-line=\"238\">Share your feedback with us on\u00a0<a href=\"https:\/\/developercommunity.visualstudio.com\/cpp\" data-href=\"https:\/\/developercommunity.visualstudio.com\/cpp\">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 updates from the past month, currently targeting the v14.52 release. This encompasses changes across the compiler frontend, backend, linker, standard library, and related tools. Although you can acquire the MSVC Build Tools Preview [&hellip;]<\/p>\n","protected":false},"author":1711,"featured_media":36818,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[3963],"tags":[],"class_list":["post-36862","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 updates from the past month, currently targeting the v14.52 release. This encompasses changes across the compiler frontend, backend, linker, standard library, and related tools. Although you can acquire the MSVC Build Tools Preview [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/36862","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=36862"}],"version-history":[{"count":1,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/36862\/revisions"}],"predecessor-version":[{"id":36863,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/36862\/revisions\/36863"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/media\/36818"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/media?parent=36862"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/categories?post=36862"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/tags?post=36862"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}