Compiler Explorer with code execution support — now in early beta
You should try it!
Compiler Explorer with code execution support — now in early beta
October 25, Pavia, Italy
November 6-8, Berlin, Germany
November 3-8, Kona, HI, USA
By Adrien Hamelin | May 29, 2019 12:22 PM | Tags: community
You should try it!
Compiler Explorer with code execution support — now in early beta
By Hartmut Kaiser | May 23, 2019 09:31 AM | Tags: performance parallelism heterogeneous computing distributed computing c++17 c++14 c++11
The STE||AR Group has released V1.3 of HPX -- A C++ Standard library for parallelism and concurrency.
HPX V1.3 Released
The newest version of HPX (V1.3) is now available for download! This release focuses on performance and stability improvements. Please see here for the full release notes.
HPX is a general purpose parallel C++ runtime system for applications of any scale. It implements all of the related facilities as defined by the C++ Standard. As of this writing, HPX provides the only widely available open-source implementation of the new C++17 parallel algorithms. Additionally, HPX implements functionalities proposed as part of the ongoing C++ standardization process, such as large parts of the C++ Concurrency TS, Parallelism TS V2, data-parallel algorithms, executors, and many more. It also extends the existing C++ Standard APIs to the distributed case (e.g. compute clusters) and for heterogeneous systems (e.g. GPUs).
HPX seamlessly enables a new Asynchronous C++ Standard Programming Model that tends to improve the parallel efficiency of our applications and helps reducing complexities usually associated with parellism and concurrency.
By Adrien Hamelin | May 7, 2019 12:53 PM | Tags: community
Check it out.
GCC 9.1 Released
From the article:
In this release C++17 support is no longer marked experimental. The C++ front-end implements the full C++17 language (already previous GCC major version implemented that) and the C++ standard library support is almost complete. The C++ front-end and library also have numerous further C++2a draft features. GCC has a new front-end for the D language. GCC 9.1 has newly partial OpenMP 5.0 support and almost complete OpenACC 2.5 support...
By Anastasia Kazakova | May 6, 2019 06:01 AM | Tags: community c++17
ReSharper C++ 2019.1 is just released! It brings Significant performance boosts, C++17 and C++20 features, support for Doctest, more flexible configuration for C++ naming and Clang-Tidy, and productivity features for Unreal Engine developers.

ReSharper C++ 2019.1: More Responsive, Better for Unreal Engine, and with New Language Features
by Anastasia Kazakova
From the article:
This year’s first major update includes the following changes and improvements:
- Performance improvements, including better start times and quicker navigation actions
- Visual Studio 2019 support
- Unreal Engine 4 support
- More steps towards C++17 and C++20 compliance
- Updated naming and formatter settings
- More flexible Clang-Tidy integration
- Doctest support
By Adrien Hamelin | Apr 12, 2019 12:07 PM | Tags: community boost
Check it out:
Boost 1.70.0 released
From the release notes:
New Libraries
- Outcome: A set of tools for reporting and handling function failures in contexts where directly using C++ exception handling is unsuitable, from Niall Douglas.
- Histogram: Fast and extensible multi-dimensional histograms with convenient interface for C++14, from Hans Dembinski.
Updated Libraries
- Asio:
- Fixed a Windows-specific memory leak that may occur when system_executor is used.
- Improved dispatch, post and defer documentation.
- Fixed compile errors that occur when using the composed read and write operations with MSVC 11.0.
- Fixed a macOS-specific warning about the deprecation of OSMemoryBarrier.
- Changed composed asynchronous read and write operations to move buffer sequence objects.
- Added a fallback error code for when we OpenSSL produces an SSL_ERROR_SYSCALL result without an associated error.
- Suppressed the eof error on SSL shutdown as it actually indicates success.
- Ensured SSL handshake errors are propagated to the peer before the local operation completes.
- Fixed buffer_sequence_begin and buffer_sequence_end to prevent implicit conversion.
- Changed the range-based asynchronous connect operation to deduce the EndpointSequence iterator type.
- Fixed calculation of absolute timeout when the backend uses pthread_cond_timedwait.
- Changed receive operations to return the correct number of bytes transferred when truncation (error::message_size) occurs on a datagram-oriented socket.
- Enabled recycling of the memory used to type-erase a function object with the polymorphic executor.
- Added a new BOOST_ASIO_DISABLE_VISIBILITY configuration #define.
- Added the noexcept qualifier to various functions.
- Added a constructor for local::basic_endpoint that takes a string_view.
- Relaxed the completion condition type requirements to only require move-constructibility rather than copy-constructibility.
- Added a make_strand helper function.
- Added a new async_compose function that simplifies the implementation of user-defined asynchronous operations.
- Added a new DynamicBuffer_v2 concept which is CopyConstructible.
- Updated the Coroutines TS support and promoted it to the asio namespace.
- Added a new async_result form with an initiate static member function.
- Added the ability to use custom I/O executors with I/O objects (such as sockets).
- This release includes a number of new features, bug fixes, performance enhancements, and documentation improvements. Notable changes include:
- Consult the Revision History for further details.
...
By Anastasia Kazakova | Mar 28, 2019 08:02 AM | Tags: None
As announced earlier, our main areas of focus this year are IDE performance, expanding Clangd leverage, and Embedded Development. This update makes headway in all three areas.

CLion 2019.1 is Here with Embedded Development, ClangFormat, Memory View, Injected languages, Custom Themes, and Much More
by Anastasia Kazakova
From the article:
- CLion 2019.1 has taken a couple of first steps towards Embedded Development. They include integration with STM32CubeMX and OpenOCD support.
- Its C++ refactorings Rename and Extract are now more accurate, and code highlighting has moved to Clangd to make the editor more responsive.
- To help you follow your preferred coding style, CLion now integrates with the well-known ClangFormat tool and adds support for various C/C++ naming schemes.
- For compilation database projects, it’s now possible to create build-system independent Targets and Run/Debug configurations. This also means that you can build your project from CLion with any build tool you prefer, including custom commands and scripts.
- Debugger got Memory View, Disassembly View for LLDB and Mute Variables on stepping opportunity.
- String literals with pieces of code in other languages (SQL, HTML, RegExp, etc.)can now be treated accordingly, thanks to injected languages feature.
- The Rust plugin was updated: it got profiler tools on Linux and macOS and suggests out-of-scope items in completion and auto-import.
By onqtam | Mar 28, 2019 07:39 AM | Tags: None
doctest brings the ability of compiled languages such as D, Rust and Nim to write tests right next to the production code to C++.
doctest - "The Fastest C++ Testing Framework" - version 2.3 released
by Viktor Kirilov
From the article:
Version 2.3 brings an extensible reporter system and a few already implemented reporters with the framework - most importantly one for XML - vital for Continuous Integration (CI) workflows. Huge thanks to the Catch2 project for paving the way for single header testing libraries.
By Adrien Hamelin | Mar 27, 2019 01:02 PM | Tags: community
You can do it.
Bootstrapping a vcpkg-based cmake project in Visual Studio
by Sumant Tambe
From the article:
After the last week's 2019 Microsoft MVP Summit, I decided to give Microsoft vcpkg a shot. I've a cmake project at work and we target Linux using the Hunter package manager. So vcpkg had been on the back-burner for me...
By Adrien Hamelin | Mar 27, 2019 12:59 PM | Tags: community
One more step.
Turning anything into a fire-and-forget coroutine
by Raymond Chen
From the article:
Last time, we wrote a helper function for converting an awaitable into a winrt::fire_and_forget, as well as another helper function that takes a lambda that returns an awaitable, and which invokes the lambmda as a winrt::fire_and_forget...
By Adrien Hamelin | Mar 26, 2019 10:45 AM | Tags: community
The series continues.
Expressing fire-and-forget coroutines more explicitly, -or- How to turn any coroutine into fire-and-forget
by Raymond Chen
From the article:
Last time, we looked at how to mark a coroutine as fire-and-forget, meaning that the caller does not get any information about when the coroutine completes. This is fine as far as it goes, but it may not be what you want...