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

推荐订阅源

WordPress大学
WordPress大学
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Hacker News: Ask HN
Hacker News: Ask HN
N
News and Events Feed by Topic
Forbes - Security
Forbes - Security
The Last Watchdog
The Last Watchdog
TaoSecurity Blog
TaoSecurity Blog
Schneier on Security
Schneier on Security
SecWiki News
SecWiki News
V
Vulnerabilities – Threatpost
Project Zero
Project Zero
O
OpenAI News
W
WeLiveSecurity
Security Archives - TechRepublic
Security Archives - TechRepublic
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
H
Hacker News: Front Page
Cisco Talos Blog
Cisco Talos Blog
Spread Privacy
Spread Privacy
Help Net Security
Help Net Security
P
Privacy & Cybersecurity Law Blog
K
Kaspersky official blog
S
Security @ Cisco Blogs
Latest news
Latest news
AWS News Blog
AWS News Blog
U
Unit 42
Martin Fowler
Martin Fowler
阮一峰的网络日志
阮一峰的网络日志
S
Secure Thoughts
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Know Your Adversary
Know Your Adversary
Scott Helme
Scott Helme
博客园 - 司徒正美
B
Blog RSS Feed
C
Check Point Blog
Hacker News - Newest:
Hacker News - Newest: "LLM"
D
Docker
Google Online Security Blog
Google Online Security Blog
Jina AI
Jina AI
aimingoo的专栏
aimingoo的专栏
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Last Week in AI
Last Week in AI
月光博客
月光博客
C
CXSECURITY Database RSS Feed - CXSecurity.com
S
SegmentFault 最新的问题
NISL@THU
NISL@THU
T
The Blog of Author Tim Ferriss
C
Cisco Blogs
Attack and Defense Labs
Attack and Defense Labs
小众软件
小众软件

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 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 – June 2026
Eric Brumer · 2026-06-12 · via C++ Team Blog

June 11th, 2026

likecompelling4 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 Visual Studio 2026 Insiders Channel, Insiders gets MSVC Preview updates roughly weekly.

To check if it’s installed 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.36418 / 14.52.36418.

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++ Modules Improvements

Several fixes improve the reliability of C++ modules:

  • Fixed a compiler crash involving variadic template classes using if constexpr with requires expressions inside modules.
  • Fixed an internal compiler error (ICE) with C++23 modules.
  • Fixed an ICE when using exported operator== in modules.
  • Fixed an issue where import std would fail to build.
  • Fixed a reentrancy issue when prolongations and global module fragments are involved, improving module build reliability.
  • Fixed nested parentheses in macro __VA_OPT__ when imported from a header unit.

Code Generation and Optimization

ARM64 improvements:

  • Improved vector construction by eliminating redundant insert operations after duplicate instructions.
  • Added support for SVE (Scalable Vector Extension) types to the SSA Optimizer.
  • Narrowed the width of immediate operands in bitfield instructions (BFI, BFXIL, UBFIZ, UBFX, SBFIZ, SBFX) for more compact code.
  • Canonicalized vector memory intrinsics into standard load/store operations, delivering 2-3% improvement in targeted benchmarks.

x64/x86 improvements:

  • Fixed multiple correctness bugs in multi-byte copy propagation, including a miscompile when the destination address is captured.
  • Preserved overflow flags when strength-reducing multiplies to shifts.
  • Fixed an ICE involving LEA with a non-register destination on x86.
  • Fixed an ICE compiling SIMD C files on amd64.
  • Tuned SSA Optimizer copy propagation on x86.
  • Fixed an x86 codegen bug for 16-bit overflow intrinsics.

Optimization improvements:

  • Added return value cost analysis for inliner heuristics, improving inlining decisions.
  • Improved the inliner’s memory model to enable function pointer devirtualization.
  • Fixed a coroutine inlining assertion failure.
  • Enabled folding of constant type conversions without requiring /fp:fast.
  • Fixed a combined loop unswitching and loop vectorization failure.
  • Fixed several ICEs in the SLP vectorizer and tile register allocator.
  • Fixed multiple loop optimizer correctness issues in scalar promotion.
  • Reduced the IL emission of attributes, improving compiler throughput.

Linker & PDB Improvements

  • Added x64 unwind V3 debugger unwinder support in DIA.
  • Fixed incorrect epilog unwind codes for alloca functions.
  • Fixed a crash during link-time code generation and PGO linking.
  • Fixed an issue where /LARGEADDRESSAWARE was incorrectly polluting the link line.
  • Fixed a decision tree optimization bug caused by using invalidated iterators.

Frontend and Conformance Fixes

  • Fixed the <numbers> header causing compilation issues when a variable or type named e is used.
  • Fixed constexpr object evaluations failing with C2131 inside lambdas with auto parameters in nested structs.
  • Fixed incorrect deduction of the type placeholder for class type templates.
  • Avoided unnecessary instantiation of static inline template members when they are not ODR-used.
  • Added a new warning for overriding a non-pure virtual function which is deprecated.
  • Fixed rejection of lambda instantiation with constraints based on other parameter names.
  • Fixed a template parameter becoming unrecognized in noexcept expressions when synthesizing inherited constructors in __declspec(dllexport) classes.
  • Fixed static_assert incorrectly accepting an invalid parameter pack.
  • Fixed an ICE with CTAD (class template argument deduction), designated initializers, and local lambdas.
  • Fixed an ICE involving assertions in the lambda capture processing.
  • Fixed a syntax error on C++11 attributes on variadic arguments in C++/CLI.
  • Fixed calls in aggregate initializers being missed, and aggressive instantiation in lambda init-captures.
  • Fixed <coroutine> __builtin_coro_noop emitting a dynamic initializer when it shouldn’t.
  • Fixed ambiguity between partial specializations when auto non-type template parameters are involved.
  • Fixed an operator binding regression where a unary + operator was incorrectly treated as binary.
  • Fixed aggregate parenthesized initialization incorrectly rejecting conversion operators.
  • Fixed a C1001 crash on x86 in pragma warning handling.
  • Reworked #pragma warning output under /E for correctness.

Preprocessor

  • Fixed token concatenation of user-defined literals and numbers emitting a spurious warning C5103 under /Zc:preprocessor.
  • Fixed a determinism issue in precompiled header generation under /Zc:preprocessor.

AddressSanitizer

  • Fixed incorrect merging of global variable metadata under AddressSanitizer builds.

STL

  • See the STL Changelog for details on STL improvements in MSVC Build Tools Preview.

Other Fixes

  • masm/ml64: added .popframe directive support with improved error handling.
  • Improved compile-time throughput for large chained function expressions by refactoring a quadratic algorithm to linear.
  • Fixed a resource leak in type library reference loading.

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

Topics

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.