community

GoingNative 50: New Visual C++ Code Optimizer--Eric Battalio, Steve Carroll and Augustin Popa

The new GoingNative is out!

GoingNative 50: New Visual C++ Code Optimizer

by Eric Battalio, Steve Carroll and Augustin Popa

From the video:

Happy 50th episode! This episode covers our new, more advanced code optimizer for the Visual C++ compiler back-end. It provides many improvements for both code size and performance, bringing the optimizer to a new standard of quality expected from a modern native compiler.

This is the first public release and we are encouraging people to try it and provide suggestions and feedback about potential bugs. The official release of the new optimizer is expected to be Visual Studio Update 3, while the release available today is unsupported and mostly for testing purposes.

Read our blog post to get the details!

Expression SFINAE improvements in VS 2015 Update 3--Andrew Pardoe

More news about the contunious improvements of VS 2015:

Expression SFINAE improvements in VS 2015 Update 3

by Andrew Pardoe

From the article:

Last December we blogged about partial Expression SFINAE support in VS 2015 Update 1. Some of the things we heard from you after that post are that you wanted better Expression SFINAE support, especially for popular libraries such as Boost and Range-v3. These libraries have been our focus over the last few months...

Clang 3.8 in the May release of Clang with Microsoft CodeGen--Andrew Pardoe

Clang gets updated on Windows:

Clang 3.8 in the May release of Clang with Microsoft CodeGen

by Andrew Pardoe

From the article:

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 x64-hosted compilers. We’re happy to say that we’re shipping both Clang 3.8 and x64-hosted compilers in the May 2016 release.

May update for the C/C++ extension in Visual Studio Code--Ankit Asthana

News from Visual Studio:

May update for the C/C++ extension in Visual Studio Code

by Ankit Asthana

From the article:

We would like to thank all of you who have tried out the C/C++ extension in Visual Studio Code and have already provided
rich feedback on your experiences and filed issues and requests with us. We are working hard on incorporating your feedback
into the product. Continuing with our effort to make Visual Studio Code as the editor tool of choice for C++ developers with
this update of the C/C++ extension, we are introducing the following features:

• Code formatting with clang-format
• Fuzzy Auto-Complete for C/C++ code
• Debugging on Windows for Cygwin/MinGW applications
• Console application debugging with GDB on the Mac

Now let’s dive into each one of these in more detail...

CppCon 2015 What's New in Visual C++ 2015 and Future Directions--Steve Carroll • Ayman Shoukry

Have you registered for CppCon 2016 in September? Don’t delay – Early Bird registration is open now.

While we wait for this year’s event, we’re featuring videos of some of the 100+ talks from CppCon 2015 for you to enjoy. Here is today’s feature:

What's New in Visual C++ 2015 and Future Directions

by Steve Carroll • Ayman Shoukry

(watch on YouTube) (watch on Channel 9)

Summary of the talk:

In this talk, we'll discuss new features, optimizations, and scenarios in Visual Studio 2015. We'll cover new backend optimizations, improved build throughput, new productivity and diagnostics features, and give a detailed update on our conformance progress, as well as talk about cool new c++1y features that we are shipping from await to modules.

Visual Studio isn't just for Microsoft platform developers. We'll also demonstrate our latest cross platform C++ development features for Android and iOS. We'll also give a sneak peak at our work on combining the Clang frontend with our existing backend to bring Clang support for Windows to Visual Studio.

James McNellis' talks @Italian C++ Conference 2016

The talks James McNellis gave at the Italian C++ Conference 2016 are now online:

An Introduction to C++ Coroutines

One of the most interesting new features being proposed for C++ standardization is coroutines, formerly known as “resumable functions.”  C++ coroutines are designed to be highly scalable, highly efficient (no overhead), and highly extensible, while still interacting seamlessly with the rest of the C++ language.

This session will consist of an in-depth introduction to C++ coroutines.  We will begin by looking at the rationale for adding coroutines to the C++ language and then look at several examples that show [1] how to write a coroutine, [2] how to use the extensibility model to adapt existing libraries to work with C++ coroutines, and [3] how coroutines really work “under the hood,” using the Visual C++ implementation as a reference.  Finally, we will look briefly at the status of the C++ coroutines proposal and some of the competing ideas.

Slides

 

Adventures in a Legacy Codebase

Three years ago, the Visual C++ team undertook a project to substantially modernize and redesign the Microsoft C Runtime (CRT) with the goals of improving long-term maintainability, performance, and usability.  This work culminated with the release of the Universal CRT with Windows 10 and Visual Studio 2015.

In this session, I will discuss our team’s experiences from this project.  We’ll look at some of the techniques we used in modernizing a decades-old codebase and look at some of the challenges that we faced, lessons that we learned, and best practices that we developed during the course of the project.

Slides