Product News

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

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

HPX V1.4 Released

The newest version of HPX (V1.4) is now available for download! This release focuses on performance and stability improvements. Please see here for the 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 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 parellism and concurrency.

 

SonarQube C++ analysis adds more support for C++ Core Guidelines -- Alex Gigleux

The code analysis platform SonarQube announces the next step for C++.

SonarQube C++ analysis offers more efficient analysis and deeper Code Guildelines coverage

By Alex Gigleux

From the article:

We’re proud to announce the following improvements to the C++ analyzer:

  • faster analysis thanks to incremental mode
  • broader coverage of the C++ Core Guidelines
  • improved diagnostic reproduction for failed scans thanks to its automatic reproducer creation

CMake 3.16 added support for precompiled headers & unity builds - what you need to know

Modules are coming in C++20 but it will take a while before they are widely adopted, optimized and supported by tooling - what can we do right now?

CMake 3.16 added support for precompiled headers & unity builds - what you need to know

by Viktor Kirilov

From the article:

CMake 3.16 introduced native support for precompiled headers and unity builds - we no longer need to rely on clunky 3rd party CMake scripts! This is a complete guide on what the 2 techniques are, how to apply them and what to look out for. Builds could easily drop to less than 20% of the time they originally took.

Slow builds don’t just waste time - they also break the ‘flow’ (context switching) and discourage refactoring and experimentation - how do you put a price on that?

Top 10 Bugs Found in C++ Projects in 2019

Another year is drawing to an end, and it's a perfect time to make yourself a cup of coffee and reread the reviews of bugs collected across open-source projects over this year.

Top 10 Bugs Found in C++ Projects in 2019

by Maxim Zvyagintsev

From the article:

float yScale = 1.0 / tan((3.141592538 / 180.0) * fov / 2);

There's a tiny typo in the Pi number (3,141592653...): the number "6" is missing at the 7th decimal place.
 

Introducing the new ReSharper C++ 2019.3 -- Igor Akhmetov

Welcome ReSharper C++ 2019.3

ReSharper C++ 2019.3: C++20 Concepts, Type Hints, Sorting of #includes, and more

by Igor Akhmetov

From the article:

Please welcome ReSharper C++ 2019.3, our third and final update of this year! Main highlights:

  • More sophisticated C++20 support, including Concepts.
  • Clang-Tidy updates and more flexible integration.
  • A new quick-fix will assist you with adding variables to the lambda capture list.
  • New type hints for auto variables, in structured bindings, for function and lambda return types.
  • Navigation improvements.
  • Sorting of #include directives.
  • More templates to generate UE4-specific code, as well as support for UE4’s Smart Pointers.
  • Additional project properties.
  • Performance enhancements.

PVS-Studio 7.05

We're glad to offer to your attention a quick overview of the PVS-Studio 7.05 code analyzer release. The analyzer is enriched with twenty new diagnostics and infrastructure improvements.

PVS-Studio 7.05

by Andrey Karpov

From the article:

The Blame Notifier utility meant to notify developers about the analysis results is now available on all platforms supported by the analyzer (Windows, Linux, macOS). Blame Notifier uses the information from the version control system (SVN, Git, Mercurial) to identify the person who wrote the code that triggered an analyzer warning.

CLion 2019.3: Concepts, Coverage, Ninja, Clang-based completion -- Anastasia Kazakova

Interested in giving a try?

CLion 2019.3: A Quality-Targeted Release Focused on Performance and Some Long-Awaited Enhancements

by Anastasia Kazakova

From the article:

Improving the IDE performance and fixing major bugs are always a top priority for our team. In this update we have been focusing especially on improving the performance in specific areas, eliminating UI freezes (not all, but many of them have been melted away!), and enhancing the editor and the integrations for our users:

  • Clangd-based code completion
  • Debugger updates
  • Ninja and other CMake generators
  • Switching between Header/Source files
  • Code Coverage
  • C++20’s Concepts

C++20 and ReSharper C++

Do you plan to start using C++20 any time soon?

C++20 and ReSharper C++

by Phil Nash

From the article:

In July of this year, in the German city of Cologne, the ISO WG21 committee approved the full draft of C++20. After Belfast, in November, we now have just one more meeting (in Prague) to deal with national body comments and get their approval. That means that, barring any catastrophes, C++20 will become the current standard sometime after February of next year.

So C++20 is still in the future, but we now have a very good idea of everything that will be in it. Large sections of it have already been implemented in several compilers. But it’s not just the compilers that are getting ahead of the game. ReSharper C++ supports many of these features already, too – often with extra analysis and insights enabled by them.

Support for C++20’s Concepts in CLion--Anastasia Kazakova

Are you using it?

Support for C++20’s Concepts in CLion

by Anastasia Kazakova

From the article:

Concepts are one of the biggest features coming in C++20, and knowing that, we’ve been thinking about supporting Concepts in CLion for quite a while. Enter Saar Raz with his C++20’s Concepts implementation in Clang! Long story short, we have been collaborating with Saar to merge his branch into our custom Clangd-based language engine in CLion, and started implementing some nice IDE features on top. Sounds ambitious enough, but we have thoroughly enjoyed the experience so far! A very early result of this collaboration was used by Saar in his CppCon 2019 talk on Concepts...