CLion 2020.2 EAP: Dangling Pointer Analysis, Remote Mode Paths, and Other Fixes

Anastasia Kazakova

A new CLion 2020.2 EAP build 202.6109.21 is now available for download!

Get it from our website, via the Toolbox App, or as a snap package (if you are using Ubuntu). A patch update is ready for anyone using the previous 2020.2 EAP build:

DOWNLOAD CLION 2020.2 EAP

Remote mode enhancements

In Remote mode, CLion works with projects stored on a local machine and synchronizes them to a remote host. You can configure remote host synchronization paths in Settings / Preferences | Build, Execution, Deployment | Deployment. We’ve fixed a bug where the deployment path couldn’t be changed if the root path was different from the default value (CPP-14185). This can be useful for setups where the root path points to the /home/user directory. In the default configuration, the deployment path points to paths in the /tmp/tmp.<temp number> format. But when the root path is configured differently to the default root path, it gets prepended to the deployment path.

If the deployment configuration is changed, CLion now reloads the CMake project automatically (as if the "resync with remote hosts" action was triggered).

Dangling pointer analysis

CLion now helps catch dangling pointers, i.e. pointers that point to invalid data:
Dangling pointer
Typical cases are double-free and use-after-free problems.

The analysis has some limitations:

  • Dangling pointers inspection works in local scope only.
  • Dangling pointers inspection does not work when pointer arithmetics is used.
  • Dangling pointers inspection does not work when macro is used (check the sample in CPP-4593).

Regardless of these limitations, this inspection can be really helpful and we’ll definitely continue to improve it.

Other improvements

  • explicit(bool) from C++20 is now supported in CLion.
  • Extend selection inside directives has been improved (CPP-19939).
  • In the PlatformIO plugin: an Arduino-specific source stub is now generated when a new Arduino project is created (CPP-20537).

Full release notes are here.

In previous EAP builds:

Get a build and give it a try! We will greatly appreciate your feedback here in the comments and in our issue tracker.

DOWNLOAD CLION 2020.2 EAP

Your CLion team
JetBrains
The Drive to Develop

Subscribe

Subscribe for updates