Product News

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.

ReSharper C++ 2020.2: Unreal Engine Project Model, Improved C++/CLI Support, and More

ReSharper C++ 2020.2 is released!

ReSharper C++ 2020.2: Unreal Engine Project Model, Improved C++/CLI Support, and More

by Elvira Mustafina

From the article:

  • Unreal Engine: support for the Unreal Engine project model, better conformance to the Unreal Engine coding standard, and new inspections.
  • C++/CLI: improved interoperability between C++/CLI and C#, extended navigation and search features, and inspections for C++/CLI-specific keywords.
  • Code analysis: preview for Clang-Tidy fixes, improved support for constexpr functions, and highlighting for misspelled preprocessor directives.
  • Code completion: auto-generated lambda argument for std::function, and import completion can now add forward class declarations.
  • Navigation and search: Go to declaration for unresolved identifiers, hidden preprocessor directives in File Structure, and faster Find Usages.
  • Code style and formatting: new settings for multiline ternary, single-line style comments, and sorting of include directives.
  • File templates: new Source file and Header file templates.

CLion 2020.2 release: Makefile projects, C++20, enhanced static analysis, and doctest support

CLion 2020.2 is released!

CLion 2020.2: Makefile Projects, C++20, Enhanced Code analysis, Doctest, and Other Unit Testing Support Improvements

by Anastasia Kazakova

From the article:

CLion 2020.2 covers a wider variety of C and C++ projects and makes modern C++ coding easier. Here are the highlights:

  • Project models
    • Initial support for Makefile projects
    • CMake upgrade to 3.17
  • C++20 standard compliance
    • Code completion for C++20 keywords
    • Code completion in designated initializers
    • Support for the explicit(bool) construct in name hints, navigation, and refactorings
    • Range-based for loops with the init statement are now supported
  • Code analysis
    • A new inspection to constrain a function's result
    • Dangling pointer check
    • A more accurate Simplify inspection
    • Check for a loop condition that is never updated
    • New Inspection Widget and new Problems View
  • Support for Doctest, and improved integration with Catch2 and Google Test 1.10
  • Automatic creation of code coverage profiles
  • PlatformIO plugin enhancements
  • VCS:
    • Git installed in WSL2
    • A more helpful GitHub Pull Requests View
  • Performance improvements

DeepEnds 3.5: Make public members private

workflow.pngCycleRouter Ltd has released version 3.5 of their DeepEnds dependency analysis tool. A highlight:

Report and/or automatically rewrite public members that should be private

From the release announcement:

DeepEnds includes other dependency analysis tools to analyse coupling and cohesion, delete redundant code and

identify classes to extracted from C code. It parses C++, C# and Visual Basic source code.

The software is free to use until the end of August and will now install successfully via NuGet.