Product News

CLion 2017.2 released with Clang-Tidy and more -- JetBrains

Welcome new release of JetBrain's cross-platform C/C++ IDE!

CLion 2017.2 released

by Anastasia Kazakova

From the article:

CLion 2017.2 is all about C++ parser correctness, new code analysis features and performance improvements. Clang-Tidy integration, C++ cast operators and other code analysis enhancements help to ensure the code quality, while the rest bring general improvements to the user experience.

The highlighted new features are:

  • Clang-Tidy checks and complementary quick-fixes come to CLion. This includes checks from C++ Core Guidelines, modernize checks and many others.
  • C++ support enhancements:
    • C++17 is now available in the New Project wizard
    • Precompiled headers are now supported when using Microsoft Visual C++ compiler (in addition to GCC and Clang)
    • Code intentions and quick-fixes use C++ cast operators for C++ code instead of C-style cast
    • Dozens of improvements in C++ parser and built-in code analysis engine
  • A new Force Step Into action for getting into disassembly code only when you really want to.
  • Cancelable CMake reload and Go to navigation actions to ensure better IDE performance.
  • Bundled CMake 3.8.

PVS-Studio 6.16 released

PVS-Studio is a static code analyzer that detects errors and potential vulnerabilities in the source code of programs written in C/C++/C#. Version 6.16 has obtained 11 new general analysis diagnostics.

PVS-Studio 6.16 released

by Andrey Karpov

About the release:

In a sense, this is a milestone for us. The thing is that we cannot add more numbers of general analysis warnings, otherwise they will concur with the numbers of micro-optimization diagnostics. It seemed to us that the list of 300 diagnostics was endless, but now it is over and we got to the point of 800, where we have micro-optimization diagnostics. In the next release we plan to resume numbering the general-analysis warnings with V1000. Download and enjoy the new version of PVS-Studio now by clicking here.

P.S. How to use PVS-Studio for Free.

There Is A New Future -- Felix Petriconi

Version 1.0 of a new C++ future and channel library has been released.

There Is A New Future

by Sean Parent, Foster Brereton and Felix Petriconi

About the library:

This library provides high level abstractions for implementing algorithms that eases the use of multiple CPU cores while minimizing the contention.

The future implementaton differs in several aspects compared to the C++11/14/17 standard futures: It provides continuations and joins, which were just added in a C++17 TS. But more important this futures propagate values through the graph and not futures. This allows an easy way of creating splits. That means a single future can have multiple continuations into different directions. An other important difference is that the futures support cancellation. So if one is not anymore interested in the result of a future, then one can destroy the future without the need to wait until the future is fullfilled, as it is the case with std::future (and boost::future). An already started future will run until its end, but will not trigger any continuation. So in all these cases, all chained continuations will never be triggered. Additionally the future interface is designed in a way, that one can use build in or custom build executors.

Since one can create with futures only graphs for single use, this library provides as well channels. With these channels one can build graphs, that can be used for multiple invocations.

corsl - Coroutine support library--Alexander Bessonov

Interesting library

corsl - Coroutine support library

by Alexander Bessonov

From the article:

corsl stands for "Coroutine Support Library" and consists of a number of utility classes and functions that simplify asynchronous programming in Windows. It is inspired by an amazing cppwinrt library, developed by Microsoft.

cppwinrt was created as a language projection for Windows Runtime, which is supported by Windows 8 or later operating systems. It is impossible to use in prior Windows versions.

One of the goals of corsl library was being able to use it under Windows Vista or later operating system...

Frozen - An header-only, constexpr alternative to gperf for C++14 users--Serge Guelton

Check this out!

Frozen - An header-only, constexpr alternative to gperf for C++14 users

by Serge Guelton

From the article:

An open source, header-only library that provides fast, immutable, constexpr-compatible implementation of std::set, std::map, std::unordered_map and std::unordered_set to C++14 users. It can be used as an alternative to gperf...

Using C++ Coroutines with Boost C++ Libraries--Eric Battalio

Working with the future tools.

Using C++ Coroutines with Boost C++ Libraries

by Eric Battalio

From the article:

Last month, Jim Springfield wrote a great article on using C++ Coroutines with Libuv (a multi-platform C library for asynchronous I/O). This month we will look at how to use coroutines with components of Boost C++ libraries, namely boost::future and boost::asio...

doctest - C++ single-header testing framework version 1.2 released! -- Viktor Kirilov

The fastest feature-rich C++98/C++11 single-header testing framework for unit tests and TDD

doctest 1.2 released! Focus on features and runtime performance

by Viktor Kirilov

From the release:

The reddit thread might be of interest as well.