December 2021

Introducing Trunk - A New Meta-Linter for C/C++ (and Dozens of Other Languages) -- David Apirian

Trunk launched its public beta! Trunk combines 30+ linters, static analyzers, and formatters covering dozens of languages to create a one-stop-shop for checking your code.

Trunk Check - Code Quality Solved

by David Apirian

From the article:

Modern repositories include many technologies, each with its own set of linters. With 30+ linters and counting, Trunk makes it dead-simple to identify, install, configure, and run the right linters, static analyzers, and formatters for all your repos. Use the beta for free today.

Itself written in C++, Trunk makes it dead simple to run C++ linters like clang-tidy, adding intelligent caching, easy setup, and a language server for IDE support. Overall, Trunk makes it dead-simple to identify, install, configure, and run the right linters, static analyzers, and formatters for all your repos across multiple languages. Available as a clivscode extension, and github action.

PVS-Studio 7.16, expanding the horizons: MISRA C, Visual Studio 2022, .NET 6

This is the latest release of PVS-Studio in 2021. With it, the PVS-Studio team accomplishes several important goals. Now, PVS-Studio supports Visual Studio 2022 (.NET 6, C# 10.0). We implemented all diagnostics categorized as Mandatory in MISRA C.

PVS-Studio 7.16, expanding the horizons: MISRA C, Visual Studio 2022, .NET 6

by Andrey Karpov

From the article:

PVS-Studio supports 80% of the MISRA C standard for safety and security. The tool fully covers the warnings categorized as Mandatory and most of the warnings from the Required category.

ReSharper C++ 2021.3 release helps upgrade your code to modern C++ -- Elvira Mustafina

ReSharper C++ 2021.3 is now available!

ReSharper C++ 2021.3: Support for Visual Studio 2022, Unreal Engine File Templates, New C++20 and C Features

by Elvira Mustafina

From the article:

Check out the highlights and read the post for more details.

  • Support for Visual Studio 2022. You will enjoy the same rich feature set as in other Visual Studio versions, but since Visual Studio 2022 is an x64 process, all ReSharper C++ features work faster.
  • New C++20 features: auto-completion of designated initializers for aggregate initialization and modernizing inspections to help you adopt new library functions.
  • File templates for Unreal Engine classes.
  • Improved C support: C11 _Generic expressions and the typeof GNU extension.
  • Navigation in goto statements and inactive code.
  • Evaluation results for constant expressions in the Quick Info tooltip.
  • Change Signature lets you control the C++17 [[nodiscard]] attribute.
  • New inspections with quick-fixes, and an update for Clang-Tidy with new checks from Clang 13.

C++ Reflection TS: A First Look -- Clément Pirelli

The Reflection TS was blessed with an example implementation recently, available on Compiler Explorer. Clément Pirelli gave it a spin and wrote a small post about what he found.

C++ Reflection TS: A First Look

by Clément Pirelli

From the article:

In this post, I’ll explain the basic ideas of the specification, how to write a simple generic “enum to string” function and go into a bit more detail with a proof-of-concept serialization function.

Modernizing your code with C++20 -- Phil Nash

C++20 is here! In fact, as we head towards 2022, it’s been here a while. It may surprise some, but we’re only a few months from a freeze on new proposals for C++23! But let’s not get ahead of ourselves. C++20 is a big release - at least the biggest since C++11 - some have said it's the biggest since the first standard in 1998!

Modernizing your code with C++20

by Phil Nash

From the article:

Another possible surprise is that support for C++20 is currently better in GCC and MSVC++ than in Clang. Nonetheless, significant chunks of the new language and library features are widely available across the three major compilers, already. Many of them, including some less well known features, are there to make common things safer and easier. So we’ve been hard at work implementing analyzer rules to help us all take full advantage of the latest incarnation of “Modern C++”. This is just the start, but we already have 28 C++20-specific rules in the latest releases of all our products (with many more in development).

Let’s take a peek at some of them.

SonarLint now supports Visual Studio 2022 for your C and C++ projects -- Marco Comi

The latest release of SonarLint supports Visual Studio 2022 and enables users to detect and fix coding issues in their C and C++ code. Enjoy the best-in-class capabilities of Visual Studio and SonarLint for your modern code development. SonarLint is a free static analysis extension and directly installable for VS 2022 from the Marketplace.

SonarLint for Visual Studio: v5.0

By Marco Comi

From the article:

The new Visual Studio version brings many new features and improvements. Starting from version 5.0 of SonarLint you are able to use our plugin in Visual Studio 2022 for all the languages we already support. The VS Marketplace page for the new version is here.



Introducing CLion 2021.3 -- Anastasia Kazakova

CLion 2021.3 has become an even easier-to-use, more customizable, and more comprehensive IDE for unleashing the power of C and C++.

CLion 2021.3: New Remote Development, Better Data Views in Debugger, Docker Toolchain, Custom Compiler, Type Hints, and More

by Anastasia Kazakova

From the article:

CLion 2021.3 release is here! Check out the highlights and read the post for more details.

  • New remote development mode (headless remote machine and thin local client)
  • Debugger:
    • Better data views in debugger
    • RTOS thread views
  • Toolchain updates
    • Docker toolchain
    • Custom compiler
    • Environment script
    • Windows-specific enhancements
    • Ninja as the default CMake generator
  • Type hints in the editor
  • More powerful and accurate code analysis