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

推荐订阅源

B
Blog RSS Feed
Martin Fowler
Martin Fowler
爱范儿
爱范儿
IT之家
IT之家
Last Week in AI
Last Week in AI
A
About on SuperTechFans
Google DeepMind News
Google DeepMind News
阮一峰的网络日志
阮一峰的网络日志
V
V2EX
aimingoo的专栏
aimingoo的专栏
G
Google Developers Blog
J
Java Code Geeks
Microsoft Azure Blog
Microsoft Azure Blog
美团技术团队
The Cloudflare Blog
MyScale Blog
MyScale Blog
T
The Blog of Author Tim Ferriss
Hugging Face - Blog
Hugging Face - Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
云风的 BLOG
云风的 BLOG
Y
Y Combinator Blog
The GitHub Blog
The GitHub Blog
腾讯CDC
Microsoft Security Blog
Microsoft Security Blog

C++ Team Blog

Bringing Correctly Rounded Math to Production with LLVM-libc - C++ Team Blog C++ in the Age of AI: Visual Studio at CppCon 2026 - C++ Team Blog What’s New for C++ Developers in Visual Studio 2026 (18.7 – 18.10) - C++ Team Blog Microsoft at CppCon 2026 - C++ Team Blog MSVC C++23: constexpr cmath with LLVM Libc - C++ Team Blog MSVC Build Tools Preview updates – September 2026 - C++ Team Blog Clearer Build Optimization Results with GitHub Copilot - C++ Team Blog What's New in vcpkg (Jul 2026) - 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 MSVC Build Tools Preview updates - July 2026 - 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 - August 2026 - C++ Team...
Eric Brumer · 2026-08-13 · via C++ Team Blog

August 13th, 2026

heart2 reactions

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 whether it is installed, make sure one or both of these components are selected in the Visual Studio Installer:

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

Follow the instructions at https://aka.ms/msvc/preview to configure your IDE and 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.36615 / 14.52.36615.

We appreciate your feedback. Please report issues through Visual Studio Developer Community so we can address them before the toolset moves out of preview.

C++ Conformance and Frontend

  • Added support for default-initialized new[] expressions in constant evaluation when used with modules.
  • Improved diagnostics for calling-convention mismatches, incompatible compiler options, and unusable compiled-library files.
  • Improved handling of argument-dependent lookup involving names that are not exported from a module.
  • Improved parser robustness during nested template and module instantiation.
  • Improved consistency when writing class data-member information to modules.
  • Added missing math intrinsics and improved math-header handling with modules, advancing compile-time support.

C++ Modules

  • Improved type merging when header units are shared across multiple modules.
  • Improved module serialization of data members and template information.
  • Fixed incremental processing of shared module data when invoked more than once.
  • Improved handling of compile-time array allocation in module code.

Code Generation and Optimization

ARM64 improvements:

  • Added support for Armv9.2 LUTI2 lookup-table instructions and corresponding intrinsics.
  • Recognized common vector permutation and per-lane rotation patterns, replacing longer instruction sequences with more efficient operations.
  • Improved generation of vector loads followed by lane insertion.
  • Improved preservation of adjacent load pairs during register allocation.
  • Improved tracking of used vector lanes through scalar floating-point operations, allowing more redundant instructions to be removed.
  • Improved immediate forms for vector bit-clear operations.
  • Prevented unsafe pairing of store-with-writeback instructions when an operand shares the base register.

x64 and x86 improvements:

  • Expanded instruction selection for APX operations, including additional destination forms and removal of redundant zero-extension operations.
  • Improved conditional-compare generation with APX.
  • Improved generation of all-bits-set vector constants.
  • Improved tail-call handling for functions with paired register operations.
  • Added a recursion limit to prevent excessive processing during partial-register optimization.

Optimizer improvements:

  • Improved jump-to-jump optimizations and allowed more opportunities when local scope information is present.
  • Improved scalar-promotion induction-variable recognition.
  • Improved optimization of equality-test loops with loop-carried dependencies.
  • Preserved more useful predicates during optimization.
  • Improved optimization around restricted pointers and function calls.
  • Improved simplification of overflow intrinsics while preserving signedness.
  • Enabled inline expansion of fmin, fmax, and copysign on additional targets.

Debug Information

  • Continued work to support larger debug-information streams, including groundwork for streams up to 4 GB.
  • Added a way for debugger clients to release debug-database file handles without immediately discarding loaded data, allowing the file to be rebuilt sooner.
  • Improved diagnostics produced by debug-information inspection tools.
  • Improved type merging for programs that use header units and modules.

Linker and Assembler

  • Correctly quoted paths passed through the linker’s /EDIT option when output paths contain spaces.
  • Added support for the int1 instruction to the assembler and disassembly tools.
  • Improved handling of large function prologs and epilogs in x64 exception data.
  • Fixed an assembler crash caused by an invalid section identifier.
  • Improved unwinding support for newer epilog formats.

Static Analysis

  • Expanded code-analysis coverage across more components of the toolset.
  • Fixed uninitialized-variable warnings in ATL and MFC sources.
  • Reduced noisy C5246 diagnostics involving constant evaluation.

AddressSanitizer

  • Use MSDIS (MSVC disassembler) as a fallback instruction-length decoder for interception, reducing “unrecognized instruction” failures. This is on by default and can be disabled via ASAN_OPTIONS=windows_use_msdis_decoder=false . To trace what instructions were intercepted by MSDIS instead of the manual instruction decoder, set verbosity=3 and search for logs prefixed with “MSDIS instruction decoder:”.
  • Added a diagnostic for incompatible use of AddressSanitizer with /clr.

Standard Library

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.