惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

大猫的无限游戏
大猫的无限游戏
Webroot Blog
Webroot Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
T
Threat Research - Cisco Blogs
V2EX - 技术
V2EX - 技术
L
LINUX DO - 热门话题
Google DeepMind News
Google DeepMind News
Recorded Future
Recorded Future
S
Schneier on Security
I
InfoQ
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
The GitHub Blog
The GitHub Blog
S
Security @ Cisco Blogs
O
OpenAI News
W
WeLiveSecurity
Vercel News
Vercel News
阮一峰的网络日志
阮一峰的网络日志
Simon Willison's Weblog
Simon Willison's Weblog
人人都是产品经理
人人都是产品经理
Cloudbric
Cloudbric
The Last Watchdog
The Last Watchdog
The Hacker News
The Hacker News
Google Online Security Blog
Google Online Security Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
GbyAI
GbyAI
NISL@THU
NISL@THU
T
Tailwind CSS Blog
V
Visual Studio Blog
PCI Perspectives
PCI Perspectives
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Jina AI
Jina AI
D
DataBreaches.Net
B
Blog RSS Feed
N
News and Events Feed by Topic
N
News and Events Feed by Topic
H
Heimdal Security Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
腾讯CDC
Latest news
Latest news
V
Vulnerabilities – Threatpost
Hacker News: Ask HN
Hacker News: Ask HN
WordPress大学
WordPress大学
V
V2EX
aimingoo的专栏
aimingoo的专栏
博客园 - 司徒正美
Apple Machine Learning Research
Apple Machine Learning Research
D
Darknet – Hacking Tools, Hacker News & Cyber Security
The Register - Security
The Register - Security
Help Net Security
Help Net Security

C++ Team Blog

Pure Virtual C++ 2026 Is a Wrap - C++ Team Blog Pure Virtual C++ 2026 Is Now Live! - C++ Team Blog C++ Dependencies Without the Headache: vcpkg + Copilot CLI - C++ Team Blog Pure Virtual C++ 2026 Is Tomorrow and On-Demand Sessions Are Now Available - C++ Team Blog Faster C++ iterative builds with GitHub Copilot - C++ Team Blog Pure Virtual C++ 2026 [Meet the Speakers, Part 3]: Modernizing C++ - C++ Team Blog Rethinking C++ Performance: Faster Code Navigation and GitHub Copilot Tools with Whole Codebase Indexing - C++ Team Blog Pure Virtual C++ 2026 [Meet the Speakers, Part 2]: The AI-Native C++ Developer Workflow - C++ Team Blog Pure Virtual C++ 2026 [Meet the Speakers, Part 1]: Build Faster, Run Faster - C++ Team Blog What's New in vcpkg (June 2026) - C++ Team Blog Pure Virtual C++ 2026 Talks Announced - C++ Team Blog Save the Date: Pure Virtual C++ 2026 - C++ Team Blog Streamline C++ Code Intelligence Setup in Copilot CLI - C++ Team Blog Boosting Adobe Photoshop’s Performance with MSVC and SPGO - C++ Team Blog GitHub Copilot modernization for C++ is out of preview MSVC Build Tools Preview updates – June 2026 What’s New in vcpkg (May 2026) What’s New for C++ Developers in Visual Studio 2026 (18.1 – 18.6) Introducing Sample Profile Guided Optimization in MSVC NuGet PackageReference for C++ Projects in Visual Studio Segment Heap support for C++ projects in Visual Studio MSVC Build Tools Preview updates – May 2026 MSVC Build Tools version 14.51 (GA) now available Project-Specific Build Optimizations with GitHub Copilot What's New in vcpkg (Apr 2026) - C++ Team Blog Giving Copilot more C++ context using custom instructions in VS Code Take the 2026 ISO C++ Developer Survey! - C++ Team Blog C++ Code Intelligence for GitHub Copilot CLI (Preview) - C++ Team Blog MSVC Build Tools Version 14.51 Release Candidate Now Available C++23 Support in MSVC Build Tools 14.51 What’s New in vcpkg (Feb 2026 – Mar 2026): Parallel file installation and more! Visual Studio at GDC Festival of Gaming 2026 C++ Performance Improvements in MSVC Build Tools v14.51 C++ symbol context and CMake build configuration awareness for GitHub Copilot in VS Code Microsoft C++ (MSVC) Build Tools v14.51 Preview Released: How to Opt In What’s New in vcpkg (Nov 2025 – Jan 2026) MSVC Build Tools Versions 14.30 – 14.43 Now Available in Visual Studio 2026 GitHub Copilot app modernization for C++ is now in Public Preview Visual Studio Code CMake Tools 1.22: Target bookmarks and better CTest output
MSVC Build Tools Preview updates - July 2026 - C++ Team Blog
Eric Brumer · 2026-07-16 · via C++ Team Blog

July 15th, 2026

like1 reaction

Software Engineering Manager

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 through either the Visual Studio 2026 Stable Channel or Insiders Channel, Insiders gets MSVC Preview updates more quickly (roughly weekly).

To check if it is installed simply make sure one or both of these components are checked in the installer:

  1. MSVC Build Tools for x64/x86 (Preview)
  2. MSVC Build Tools for ARM64/ARM64EC (Preview)

Follow the instructions on https://aka.ms/msvc/preview to configure your IDE & command prompts to use the MSVC Build Tools Preview.

The version number printed by cl.exe and link.exe will be at least 19.52.36520 / 14.52.36520.

We appreciate any feedback that you may have. Please report any issues on Visual Studio Developer Community so we can address them by the time we move out of preview.

C++ Conformance and Frontend

  • Relaxed the rules for designated initialization to accept more valid C++ code.
  • Added support for constexpr new[] (array allocation) inside modules.
  • Corrected comparison of non-type template arguments so that constraints (concepts) no longer cause external member function definitions to fail to compile.
  • Fixed type deduction so the correct type is propagated through nested lambdas, including decltype of a captured entity inside a non-mutable lambda.
  • Fixed an incorrect result from the __is_constructible type trait.
  • Fixed a false negative from std::is_layout_compatible on structs containing nested structs.
  • Improved _Pragma handling: better support when mixed with macros, full support under /E, and fixes for preprocessor crashes when a function-like macro expands at a _Pragma.
  • Increased the compiler limit for deeply nested initializers and increased the maximum size of legacy preprocessor macro buffers.
  • Reduced memory usage when caret (^) diagnostics are enabled.
  • Fixed selection of an overloaded member function via static_cast when the member has a deduced (auto) return type in a class template.
  • Fixed template-argument deduction for class templates that previously produced a spurious C2641.
  • Fixed several internal compiler errors, including those involving requires with a default template argument before a parameter pack, coroutines with aggregate initialization, and recursive variadic template default member initializers.
  • Improved robustness of MultiByteToWideChar handling on older Windows versions.

C++ Modules

  • Fixed a fatal error C1001 and C1116 regression when importing a partitioned C++23 module (built with import std;) after including third-party headers.
  • Fixed an internal compiler error when exporting an overload set from a module.
  • Improved header-unit resolution so a quoted include correctly falls back to an angle-bracket lookup when the resolved entry was already consumed.
  • Added a new LNK4321 warning that diagnoses duplicate C++ module exports in an import library.

Code Generation and Optimization

ARM64 improvements:

  • Added vectorization support for floor, ceil, trunc, and round.
  • Improved NEON code generation: folded redundant duplicate sequences, eliminated redundant compare-against-zero on mask inputs, and tracked live bits across NEON vector arithmetic to remove dead instructions.
  • Enabled load-pair/store-pair fusion for adjacent global table lookups accessed through a computed index.
  • Improved register spill and rematerialization cost modeling for high-use values.
  • Fixed a signedness mismatch in paired integer-to-floating-point SIMD conversions.

x64 improvements:

  • Extended code generation for the newest x64 instruction set (APX), including new destination-form lowering and a conditional-move optimization pattern, and fixed keeping caller-saved registers unnecessarily live across calls under LTCG.
  • Fixed generation of an invalid AVX-512 gather instruction that used a high vector index register.
  • Improved code generation for population-count (popcount) patterns.
  • Preserved the sign of negative zero in the 32-bit x86 floor expansion.
  • Fixed a miscompilation of descending bit-search loops that use trailing-zero counting.
  • Addressed a performance regression in a speech-recognition workload involving fused multiply-add.

Optimizer:

  • Enabled strength reduction for induction variables that can overflow, and expanded the set of overflow cases the optimizer can handle safely.
  • Enabled earlier loop-invariant code motion.
  • Enabled a new expression-reassociation pass.
  • Enabled type-based devirtualization alongside PGO and improved speculative devirtualization inlining.
  • Improved heuristics leading to more common-subexpression elimination in larger functions.
  • Fixed several optimizer internal compiler errors and miscompilations, including a jump-threading crash, loop unswitching under LTCG, preservation of overflow semantics through the loop optimizer, a hang in string-compare simplification, and incorrect code generation for indirection through a based pointer.
  • Fixed a fence-preservation issue under /fp:strict.

Other code generation:

  • Fixed /LTCG:incremental unnecessarily falling back to a full compilation on alternating links.
  • Added a graceful bailout when profile data cannot be read for a mixed /Od + /O2 LTCG build.
  • Emit C4744 for extern type mismatches under LTCG.

Linker

  • Fixed a linker crash during incremental pointer calculation.
  • Fixed incremental linking when the /NOEXP option is used.
  • Reduced PDB file size growth in incremental-link scenarios.
  • Improved determinism by masking the PDB age in the PE hash computation.

Static Analysis

  • Added command-line options to configure environment variables for Code Analysis.
  • Fixed several Code Analysis crashes, including one involving throw in a ternary operator.

AddressSanitizer

  • Fix in ASan interception of RtlReAllocateHeap, preventing crashes when re-allocating ASan-owned memory during process termination.

STL

Tickets Fixed

The following tickets reported through Developer Community have been fixed in this update:

Try Out the MSVC Build Tools Preview!

Please try out the MSVC Build Tools Preview and let us know what you think! Installation instructions:

  1. Download Visual Studio 2026 Insiders for frequent updates, or download Visual Studio 2026 for less frequent updates.
  2. 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):
    • MSVC Build Tools for x64/x86 (Preview)
    • MSVC Build Tools for ARM64/ARM64EC (Preview)
  3. Follow the instructions on https://aka.ms/msvc/preview on configuring your IDE & command prompts to use the MSVC Build Tools Preview.
  4. Share your feedback with us on Visual Studio Developer Community.

Category

Author

Eric Brumer

Software Engineering Manager

Software engineering manager on the Visual C++ compiler back-end team. I lead the machine-independent optimization team, as well as code generation security, including sanitizers.

Read next

Stay informed

Get notified when new posts are published.