New Code Analysis Checks in Visual Studio 2019: use-after-move and coroutine

New Code Analysis Checks in Visual Studio 2019: use-after-move and coroutine Visual Studio 2019 Preview 2 is an exciting release for the C++ code analysis team. In this release, we shipped a new set of experimental rules that help you catch bugs in your codebase, namely: use-after-move and coroutine checks. This article provides an overview… Read more

MSVC Preprocessor Progress towards Conformance

Why re-write the preprocessor? Recently, we published a blog post on C++ conformance completion. As mentioned in the blog post, the preprocessor in MSVC is currently getting an overhaul. We are doing this to improve its language conformance, address some of the longstanding bugs that were difficult to fix due to its design and improve… Read more

New, experimental code analysis features in Visual Studio 2017 15.8 Preview 3

The Visual C++ team has been working to refresh our code analysis experience inside Visual Studio. We’re aiming to make these tools both more useful and natural to use and hope that they’ll benefit you no matter your workflow, style, or project type. Trying out new features In Visual Studio 2017 version 15.8 Preview 3,… Read more

Broken Warnings Theory

Перевод статьи на русском The “broken warnings theory” is a fictional theory of the norm-setting and signaling effect of coding practices and bug-checking techniques in 3rd party libraries on new bugs and design anti-patterns. The theory states that maintaining and monitoring warning levels to prevent small problems such as “signed/unsigned mismatch”, “no effect before comma”,… Read more

Precompiled Header (PCH) issues and recommendations

This post written by Mark Hall, Xiang Fan, Yuriy Solodkyy, Bat-Ulzii Luvsanbat, and Andrew Pardoe. Precompiled headers can reduce your compilation times significantly. They’ve worked reliably for millions of developers since they were introduced 25 years ago to speed up builds of MFC apps. Precompiled headers are widely used: they are enabled by default for… Read more

Clang 3.8 in the May release of Clang with Microsoft CodeGen

This blog post written by Dave Bartolomeo, Yuriy Solodkyy, and Andrew Pardoe We have just released our fifth out-of-band update of Clang/C2 toolset. As always, this release has been driven by your feedback. While we’ve heard a lot of feature requests the one’s we’ve heard most frequently are that you want Clang 3.8 and you want… Read more

Clang/C2: We need your advice!

The Visual C++ team has shipped three releases of Clang with Microsoft CodeGen (Clang/C2). We’ve got a solid pre-production compiler that passes all of our STL tests and compiles a bunch of code into native Windows binaries. We’ve about to move to the 3.8 release of clang. We’re also working on getting x64-hosted tools up and running. Our… Read more

Clang with Microsoft CodeGen (March 2016) released

We’re excited to announce the latest update of our Clang with Microsoft CodeGen (a.k.a. Clang/C2) toolset. This release brings a number of fixes for bugs reported by developers in the community as well as fixes for some bugs found in our testing. For example, many of you reported that you couldn’t use Clang/C2 with larger… Read more

Clang with Microsoft CodeGen (January 2016) released

We have just released an out-of-band update of Clang/C2 toolset that brings in some of the community fixes as well as bugs found from testing. This is one of many rapid releases to come in the future, and issues reported from customers will be addressed progressively. Here we only list the changes since the previous… Read more

Visual Studio 2015 Update 1: New Experimental Feature – MPX

Introduction This post is about Intel® Memory Protection Extensions (Intel® MPX) support in Microsoft Visual Studio* 2015; content provided by Gautham Beeraka, George Kuan, and Juan Rodriguez from Intel Corporation.    Overview Update 1 for Visual Studio 2015 was announced on November 30, 2015. This update includes experimental compiler and debugger support for Intel MPX.  Intel MPX can check… Read more