Product News

C++ Core Guidelines Checkers are now in a single NuGet package--Andrew Pardoe

The Visual C++ Team announces:

C++ Core Guidelines Checkers are now in a single NuGet package

From the article:

We’re now shipping both the experimental checkers, including the lifetime checkers, and the regular checkers in one NuGet package (the GSL is still installed as a dependency.) New MSBuild scripts allow us to extend project settings so that you can select specific extensions during code analysis...

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...

doctest -- the lightest feature rich C++ single header testing framework version 1.0.0 released!

The lightest feature rich C++ single header testing framework for unit tests and TDD

doctest 1.0.0 released!

From the release:

The doctest library is inspired by the unittest {} functionality of the D programming language and Python's docstrings - tests can be considered a form of documentation and should be able to reside near the production code which they test.

It is modeled after Catch which is currently the most popular and easy to use alternative for testing in C++

boost 1.61.0 released

The boost community has released their library in version 1.61.0.

boost 1.61.0 released

by the boost organization

From the release note:

Beside many bug fixes and enhancements in the existing libraries, these new libraries were added:

New Libraries

Compute:
Parallel/GPU-computing library


DLL:
Library for comfortable work with DLL and DSO. Library provides a portable across platforms way to:

  • load libraries
  • import any native functions and variables
  • make alias names for C++ mangled functions and symbols
  • query libraries for sections and exported symbols
  • self loading and self querying
  • getting program and module location by exported symbol

Hana:
A modern C++ metaprogramming library. It provides high level algorithms to manipulate heterogeneous sequences, allows writing type-level computations with a natural syntax, provides tools to introspect user-defined types and much more.

Metaparse:
A library for generating compile time parsers parsing embedded DSL code as part of the C++ compilation process. The library is similar to Spirit, however while parsers built with Spirit parse at run-time, parsers built with Metaparse parse at compile-time.

 

cppformat 3.0.0 and becomes fmt--Victor Zverovich

A new versionb of fmt is out:

cppformat 3.0.0 and becomes fmt

by Victor Zverovich

From the release:

The project has been renamed from C++ Format (cppformat) to fmt for consistency with the used namespace and macro prefix (#307). Library headers are now located in the fmt directory:

#include "fmt/format.h"

Including format.h from the cppformat directory is deprecated but works via a proxy header which will be removed in the next major version. The documentation is now available at http://fmtlib.net...

Introducing a new, advanced Visual C++ code optimizer--Gratian Lup

Visual C++ compiler evolves again:

Introducing a new, advanced Visual C++ code optimizer

by Gratian Lup

From the article:

We are excited to announce the preview release of a new, advanced code optimizer for the Visual C++ compiler backend. 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...

juCi++

juCi++ is a lightweight, platform independent C++-IDE with support for C++11, C++14, and experimental C++17 features depending on libclang version.

juCi++

About:

Current IDEs struggle with C++ support due to the complexity of the programming language. juCI++, however, is designed especially towards libclang with speed and ease of use in mind...

GCC 6.1 Released

After slightly more than a year since last major GCC release, the GCC project is proud to announce the new major GCC release, 6.1.

GCC 6.1 Released

by the GCC project

From the article:

GCC 6.1 is a major release containing substantial new functionality not available in GCC 5.x or previous GCC releases.

The C++ frontend now defaults to C++14 standard instead of C++98 it has been defaulting to previously, for compiling older C++ code that might require either explicitly compiling with selected older C++ standards, or might require some code adjustment, see http://gcc.gnu.org/gcc-6/porting_to.html for details. The experimental C++17 support has been enhanced in this release.

This releases features various improvements in the emitted diagnostics, including improved locations, location ranges, suggestions for misspelled identifiers, option names etc., fix-it hints and a couple of new warnings have been added.

The OpenMP 4.5 specification is fully supported in this new release, the compiler can be configured for OpenMP offloading to Intel XeonPhi Knights Landing and AMD HSAIL. The OpenACC 2.0a specification support has been much improved, with offloading to NVidia PTX.

The optimizers have been improved, with improvements appearing in all of intra-procedural optimizations, inter-procedural optimizations, link time optimizations and various target backends.

See  https://gcc.gnu.org/gcc-6/changes.html for more information about changes in GCC 6.1.

This release is available from the FTP servers listed here: http://www.gnu.org/order/ftp.html

The release is in gcc/gcc-6.1.0/ subdirectory.

If you encounter difficulties using GCC 6.1, please do not contact me directly. Instead, please visit http://gcc.gnu.org for information about getting help.

Driving a leading free software project such as GNU Compiler Collection would not be possible without support from its many contributors. Not to only mention its developers but especially its regular testers and users which contribute to its high quality.  The list of individuals is too large to thank individually!