Product News

New C++ features in GCC 10--Marek Polacek

Compiler improving.

New C++ features in GCC 10

by Marek Polacek

From the article:

The GNU Compiler Collection (GCC) 10.1 was released in May 2020. Like every other GCC release, this version brought many additions, improvements, bug fixes, and new features. Fedora 32 already ships GCC 10 as the system compiler, but it’s also possible to try GCC 10 on other platforms (see godbolt.org, for example). Red Hat Enterprise Linux (RHEL) users will get GCC 10 in the Red Hat Developer Toolset (RHEL 7), or the Red Hat GCC Toolset (RHEL 8).

This article focuses on the part of the GCC compiler on which I spend most of my time: The C++ front end. My goal is to present new features that might be of interest to C++ application programmers. Note that I do not discuss developments in the C++ language itself, although some language updates overlap with compiler updates. I also do not discuss changes in the standard C++ library that comes with GCC 10.

We implemented many C++20 proposals in GCC 10. For the sake of brevity, I won’t describe them in great detail. The default dialect in GCC 10 is -std=gnu++14; to enable C++20 features, use the -std=c++20 or -std=gnu++20 command-line option. (Note that the latter option allows GNU extensions.)...

CLion 2020.3 EAP: CTest, Set Execution Point in Debug, Qt project templates...--Anastasia Kazakova

Tools improving.

CLion 2020.3 EAP: CTest, Set Execution Point in Debug, Qt project templates, and MISRA Checks

by Anastasia Kazakova

From the article:

There are many useful changes and improvements planned for CLion 2020.3, and today we are ready to share some of them with you. CLion officially starts the 2020.3 Early Access Program today!

For those who just joined us, EAP builds are free and valid for 1 month, so you don’t need an active subscription to try them out. However, the quality of EAP builds is usually lower than that of releases. If you are wondering why taking part in an EAP is worth your while, please see this nice explanation by the WebStorm team...

C++ Coroutines in Visual Studio 2019 Version 16.8--Jonathan Emmett

c++20 is coming.

C++ Coroutines in Visual Studio 2019 Version 16.8

by Jonathan Emmett

From the article:

It’s been a long journey for coroutines in C++ and in MSVC. We announced an early preview of resumable functions in 2013, followed up by the /await switch and initial C++ standardization proposals in 2014, to proposal revisions in 2015, and have continued tracking the Coroutines TS (Technical Specification) progress through Visual Studio 2017 and 2019. With the adoption of coroutines into the C++ standard in 2019, we are now pleased to announce feature completion of C++20 coroutines in Visual Studio 2019 version 16.8...

Standard C++20 Modules support with MSVC in Visual Studio 2019 version 16.8--Cameron DaCamara

Tools are getting to 20.

Standard C++20 Modules support with MSVC in Visual Studio 2019 version 16.8

by Cameron DaCamara

From the article:

It has been some time since our last update regarding C++ Modules conformance. The toolset, project system, and IDE teams have been hard at work to create a first class C++ Modules experience in Visual Studio 2019. There is a lot to share, so let’s get right into it...

HPX V1.5 released -- STE||AR Group

The STE||AR Group has released V1.5 of HPX -- A C++ Standard library for parallelism and concurrency.

HPX V1.5 Released

The newest version of HPX (V1.5) is now available for download! This is a big release with many changes and improvements. We have added numerous new features, adapted a lot of facilities to improve C++20 conformance. We have also continued our work on modularizing and making HPX lighter, improved its usability, stability, and performance. Please see here for full release notes.

    HPX is a general purpose parallel C++ runtime system for applications of any scale. It implements all of the related facilities as defined by the C++ Standard. As of this writing, HPX provides the only widely available open-source implementation of the new C++17 parallel algorithms. Additionally, HPX implements functionalities proposed as part of the ongoing C++ standardization process, such as large parts of the features related parallelism and concurrency as specified by the upcoming C++20 Standard, the C++ Concurrency TS, Parallelism TS V2, data-parallel algorithms, executors, and many more. It also extends the existing C++ Standard APIs to the distributed case (e.g. compute clusters) and for heterogeneous systems (e.g. GPUs).

    HPX seamlessly enables a new Asynchronous C++ Standard Programming Model that tends to improve the parallel efficiency of our applications and helps reducing complexities usually associated with parallelism and concurrency.

 

Write cleaner, safer, modern C++ code with SonarQube

SonarSource will present a 30min webinar Wednesday, Sept 2 at 15:00 GMT to show how you can use SonarQube and SonarLint static analysis to write better C++. Even if you can't attend, sign up and we'll send you a link to the recording afterward.

Write cleaner, safer, modern C++ code with SonarQube

by SonarQube

From the announcement:

As a C++ Developer, you know that writing clean, secure, modern C++ code is important for you and your users. At SonarSource, we know that only developers can truly impact Code Quality and Security, so we put the power in your hands.

SonarQube makes C++ development easier with static code analysis that's powerful, fast, and accurate - right out of the box. Analysis is easy to integrate into your workflow and works with most common compilers, including many for embedded systems. Come see for yourself how you can make your C++ projects more reliable and secure.

PVS-Studio 7.09

Therefore, most likely, now each release will be followed by a special note so that users don't miss changes that may be useful to them. What's interesting is that from now on we won't just list everything that was added or improved. Rather, now on the contrary, the purpose is to highlight the most important features in the news to avoid having just a boring list of changes.

PVS-Studio 7.09

by Andrey Karpov

From the article:

New general analysis diagnostics:

  •     V1059. Macro name overrides a keyword/reserved name. This may lead to undefined behavior.
  •     V1060. Passing 'BSTR ' to the 'SysAllocString' function may lead to incorrect object creation.
  •     V1061. Extending 'std' or 'posix' namespace may result in undefined behavior.
  •     V1062. Class defines a custom new or delete operator. The opposite operator must also be defined.
  •     V1063. The modulo by 1 operation is meaningless. The result will always be zero.

Boost Version 1.74.0

A new version is here.

Version 1.74.0

From the article:

New Libraries

  • STLInterfaces:

A library of CRTP bases to ease the writing of STL views, iterators, and sequence containers, from Zach Laine...

New features in SYCL 2020

SYCL is an open standard developed by the Khronos™ Group that enables developers to write code for heterogeneous systems using standard C++.

New Features in SYCL 2020

by Codeplay

About the blog:

The SYCL 2020 specification has been released for public review as a provisional specification and the group is looking for developers to provide their valuable feedback before the final version is published and ratified. In this blog engineers from Codeplay that are also contributors to the SYCL Working Group, the team that defines the standard within Khronos, talk about what they think will make developing with SYCL even better when using SYCL 2020.