Product News

PVS-Studio 7.13: Blame Notifier, MISRA

The list of diagnostics supported by MISRA and AUTOSAR continues to grow. We've expanded the Blame Notifier utility's capabilities. The analysis of Ninja projects on Windows has been enhanced and now involves the JSON Compilation Database.

PVS-Studio 7.13

by Andrey Karpov

From the article:

  • The C++ analyzer provides enhanced support of Ninja projects on Windows using JSON Compilation Database (compile_commands.json).
  • The C++ PVS-Studio analyzer spends 10% less time checking source files with the use of the Clang compiler.
  • To check C++ and C# Visual Studio PVS-Studio_Cmd.exe projects, you can pass the suppression file directly. Before this, you could add suppressed warnings only at the projects and solution level.

C++20 Ranges are complete in Visual Studio 2019 version 16.10--Casey Carter

No reason not to use them.

C++20 Ranges are complete in Visual Studio 2019 version 16.10

by Casey Carter

From the article:

We are proud to announce completion of our implementation of C++20 Ranges in the Standard Library in the VS2019 v16.10 release under/std:c++latest. We announced the first useful user-visible parts of Ranges in VS 2019 v16.6 in mid 2020, the trickle accelerated into a gushing stream, and the final parts are now in place. This represents a huge body of work with input from multiple open-source contributors over the last two years...

Building LLVM in 90 seconds using Amazon Lambda--Nelson Elhage

Interested?

Building LLVM in 90 seconds using Amazon Lambda

by Nelson Elhage

From the article:

Last week, Frederic Cambus wrote about building LLVM quickly on some very large machines, culminating in a 2m37s build on a 160-core ARM machine.

I don’t have a giant ARM behemoth, but I have been working on a tool I call Llama, which lets you offload computational work – including C and C++ builds – onto Amazon Lambda. I decided to see how good it could do at a similar build...

What’s Next: A Roadmap for CLion 2021.2

The future.

What’s Next: A Roadmap for CLion 2021.2

by Anastasia Kazakova

From the article:

CLion 2021.1 is now released along with the first bug-fix update 2021.1.1 addressing some of the most critical issues which unfortunately squeezed through our testing procedures. We do hope you are enjoying the update now and giving the new data flow analysis, Makefile and dynamic analysis in remote mode, and C/C++ postfix completion a try. We are listening to your feedback carefully and planning the upcoming bug-fix updates accordingly. It’s also time to move forward and see what CLion 2021.2 may look like!

All vcpkg enterprise features now generally available: versioning, binary caching...--Augustin Popa

Are you using it?

All vcpkg enterprise features now generally available: versioning, binary caching, manifests and registries

by Augustin Popa

From the article:

We are announcing today that all major vcpkg enterprise features are no longer experimental. The latest vcpkg release makes versioning, binary caching, manifests and registries generally available to any developer, team or enterprise...

New Static Analysis Rule for Bounds Checking--Jordan Maples

Will you try it?

New Static Analysis Rule for Bounds Checking

by Jordan Maples

From the article:

We have added a new experimental static analysis rule in Visual Studio 16.10 version Preview 3 – C26458, WARNING_PATH_SENSITIVE_USE_GSL_AT. The new warning is a more precise and less noisy version of warning C26446, WARNING_USE_GSL_AT. Both warnings analyse standard containers for unchecked element access and they both share the warning message: “Prefer to use gsl::at() instead of unchecked subscript operator (bounds.4).” This new warning, however, uses path sensitive analysis to track buffer size validation calls to provide a less noisy, more targeted warning compared to C26446...

Finding Bugs with AddressSanitizer: Patterns from Open Source Projects--Kevin Cadieux

Are you using it?

Finding Bugs with AddressSanitizer: Patterns from Open Source Projects

by Kevin Cadieux

From the article:

AddressSanitizer (ASan) was officially released in Visual Studio 2019 version 16.9. We recently used this feature to find and fix a bug in the MSVC compiler itself. To further validate the usefulness of our ASan implementation, we also used it on a collection of widely used open source projects where it found bugs in Boost, Azure IoT C SDK, and OpenSSL. In this article, we present our findings by describing the type of bugs that we found and how they presented themselves in these projects. We provide links to the GitHub commits where these bugs were fixed so you can get a helpful look at what code changes were involved. If you are unfamiliar with what ASan is and how to use it, you may want to take a look at the AddressSanitizer documentation prior to delving into this article...

How to speed up building ang analyzing of your project with IncrediBuild?

"How much longer are you going to build it?" - a phrase that every developer has uttered at least once in the middle of the night. Yes, a build can be long and there is no escaping it. One does not simply redistribute the whole thing among 100+ cores, instead of some pathetic 8-12 ones. Or is it possible?

How to speed up building ang analyzing of your project with IncrediBuild?

by Maxim Zvyagintsev

From the article:

At the same time, the build completed successfully, but something really bad happened now. I had to dig into the logs, or rather, the compilation dump. That's where I found the problem. The point was that these macros are declared in the local precompiled header, whereas we only want to preprocess the file. However, the include header that was used to generate the precompiled header is different from the one that is included to the source file! The file that is used to generate the precompiled header is a 'wrapper' around the original header included into the source, and this wrapper contains all of the required macros.

Release 21.04 of AbsInt RuleChecker for C/C++

A new release of the AbsInt RuleChecker is available.

Release 21.04 of AbsInt RuleChecker for C/C++

by Absint

From the article:

AbsInt RuleChecker enhances its rule coverage for the Adaptive Autosar C++ coding guidelines. Other coding guidelines supported are MISRA C/C++, CERT C/C++, CWE, ISO/IEC TS 17961. RuleChecker runs on Windows, Linux, and macOS and provides plugins for Eclipse, Jenkins, TargetLink, and Keil µVision.