Product News

Visual C++ for Linux 1.0.5 Updates -- Marc Goodner

The Visual C++ for Linux announcement post has been updated.

Visual C++ for Linux 1.0.5 Updates

by Marc Goodner

From the article:

We recently posted new bits for our 1.0.5 release of the Visual C++ for Linux extension for Visual Studio 2015. This release has some major performance improvements that feature incremental copy and build, and considerably reducing the number of connections to the remote Linux machine. We’ve also made significant improvements in IntelliSense since our last post here.

Bugs found in GCC with the help of PVS-Studio

I regularly check various open-source projects to demonstrate the abilities of the PVS-Studio static code analyzer (C, C++, C#). Now it is time for the GCC compiler to get checked.

Bugs found in GCC with the help of PVS-Studio

by Andrey Karpov

From the article:

This part could also be called "Example number one thousand, why macros are bad". I really don't like macros and always urge people to avoid using them if possible. Macros make it difficult to read the code, provoke errors, and make the work of static analyzers harder. As best I can tell, from a brief interaction with the GCC code, the authors are big fans of macros. I was really tired looking at what the macros are expanded to, and perhaps missed quite a number of interesting errors. I should confess that I was lazy at times. But still, I will demonstrate a couple of errors, connected with macros.

Range-v3 on MSVC -- Eric Mittelette

The Visual C++ Team is delighted to announce that they just published a range-v3 implementation.

Range-v3 on MSVC is Available on GitHub

by Eric Mittelette

From the article:

This contribution comes hot on the heels of our recent work to improve expression SFINAE on our Visual Studio 2015 Update 3 VC++ compiler . This is the first implementation of the Range TS running in MSVC. In “Ranges for the Standard Library, Revision 1” (N4128) Ranges are defined like this: “A range is an object that refers to a sequence of elements, conceptually similar to a pair of iterators. One prime motivation for ranges is to give users a simpler syntax for calling algorithms.

The Lightweight Visual Studio “15” Installer--Adam Welch

The Visual Studio Team has introduced five workloads for different C++ development scenarios, whether you are targeting Windows Desktop, Windows Store, or a non-Microsoft platform like Android or Linux:

The Lightweight Visual Studio “15” Installer

From the article:

Visual Studio now uses a small standalone application called the Microsoft Visual Studio Installer that manages all installations of Visual Studio 15...

Cppcheck-1.75 has been released--Daniel Marjamäki

A new version is here!

Cppcheck-1.75 has been released

by Daniel Marjamäki

From the article:

General changes:

  • Replaced internal preprocessor by the brand-new preprocessor 'simplecpp'
  • Improved Windows installer: Install a copy of the license instead of asking to accept it
  • The Windows x64 binaries are now compiled with profile guided optimization, resulting in a speedup of 11%
  • Improved manual, especially the chapter about Libraries
  • Improved CWE mapping
  • --append is deprecated and will be removed in 1.80...

PVS-Studio confesses its love for Linux

You will help greatly if you volunteer to help testing the beta-version of PVS-Studio for Linux.

PVS-Studio confesses its love for Linux

by Andrey karpov

From the article:

PVS-Studio is a tool for bug detection in the source code of programs, written in C, C++, and C#. We are looking forward to the moment that we'll have something to present to this world. I hope this article brought some intrigue, and that Linux developers will want to try scanning their projects with PVS-Studio. If you have time and wish to, I invite you to become a part of the beta-tester team.

CLion 2016.2 released: Remote GDB debug, Doxygen, operators generation

CLion 2016.2 released: Remote GDB debug, Doxygen, operators generation

by Anastasia Kazakova

Main highlights from the announcement:

This is our second release of 2016, building on the idea of releasing more often and bringing you the latest features faster. With many new fantastic tools, CLion can help you become a true C++ rockstar:
  • Inspect code more efficiently thanks to improved performance of debugger drivers, the remote GDB debug possibility and LLDB on Linux.
  • Keep your code well-documented with Doxygen support (and thus reduce maintainability costs). Get more out of Doxygen comments stub generation.
  • Save time on typing, with equality, relational and stream output operators generation, with many flexible options on board.
  • Rely on code formatting - use new LLDB and LLVM code styles.
  • Work with CMake project model more easily thanks to Rename and Safe delete refactoring support in CMake.

HPX version 0.9.99 released -- STE||AR Group

The STE||AR Group has released V0.9.99 of HPX -- A general purpose parallel C++ runtime system for applications of any scale.

HPX V0.9.99 Released

The newest version of HPX (V0.9.99) is now available for download! Please see here for the release notes.

HPX exposes an API fully conforming to the concurrency related parts of the C++11/C++14/C++17 standards, extended and applied to distributed and heterogeneous computing, and aligned with the ongoing standardization discussions.

From the announcement:

  • Version 1.0 approaches! This release is significant as HPX is nearly feature complete. Over the next several months we will continue to test and polish HPX’s API and documentation. The feedback and experience gained from the community’s utilization of this release will provide guidance on where to add the finishing touches for V1.0.
  • We have put a lot of effort into improving the overall performance and stability of the library. Applications written using HPX have shown to outperform equivalent applications which are based on more conventional parallelization methods.
  • In this release we finished the implementation of transparent migration of components to another locality (e.g. physical compute-node). It is now possible to trigger a migration operation without ‘stopping the world’ for the object to migrate. HPX will make sure that no work is being executed on the object while it is moved and that all subsequently scheduled work for the migrated object will be transparently forwarded to the new locality. The global address of the migrated object does not change, thus the application will not have to be changed in any way to support this new functionality.