CLion 2017.3 EAP: C++ language engine improvements and build type switcher
Hi,
A new CLion 2017.3 EAP build (173.3531.13) is now available for download.
Previous EAP build brought Valgrind Memcheck integration to CLion. And now we are back to the C++ language support improvements. Check them out and let us know if any error occurs, especially if you see any regression (in comparison to the stable version).
C++ language engine improvements
Our recent plan for C++ language engine was to start from the bottom and work our way up to the top, implementing big overhauls in the problematic areas of our parser. 2017.3 EAP has already brought list initialization fixes. And now it’s time to roll out name lookup improvements. Some issues that were fixed by these changes:
- Class inheritance didn’t bring symbol into scope (CPP-8399)
- Namespace alias was not looked up in
if
conditions (CPP-7279) - Type resolution failed in case of typedef referring to a symbol imported via
using
(CPP-9960) - Incorrect resolve order of the declarations (CPP-10717)
- Other issues with
using
, the order of declarations, etc.
Debug/Release switcher
During this release cycle we’ve improved the toolchains support and made the configuration process clearer and more flexible. CLion now allows to configure and use several toolchains (i.e. CMake, compiler, debugger set) and link them to the appropriate CMake Profile.
To use necessary CMake Profile during Running/Debugging your app, you previously had to create several Run/Debug configurations with different CMake profiles. Now you can simply select necessary CMake Profile in the run configuration switcher on the toolbar:
or in the Run/Debug configuration switcher popup that opens via Shift+Alt+F10
(Linux/Windows) / ^⌥R
(macOS) for Run and via Shift+Alt+F9
(Linux/Windows) / ^⌥D
(macOS) for Debug:
A couple of important notes:
- Resolve context in the editor is updated automatically when the CMake profile is changed.
- When running/debugging tests via automatically created Run/Debug configuration,
the currently selected CMake Profile is used.
The list of all changes is available here.
CLion 2017.3 EAP: quick overview
Here is a quick reminder of the changes we’ve already made to CLion 2017.3 EAP:
- Valgrind Memcheck support
- List initialization fixes, support for
__COUNTER__
, fixes forunique_ptr
with GCC7 - MSVC extensions support
- Multiple toolchains support
- Bundled GDB 8.0 and bundled LLDB 5.0
- Boost.Test support
- CMake 3.9 and Color Scheme changes
Your CLion Team
The Drive to Develop