GCC 11 Release Series
Improved.
GCC 11 Release Series
From the article:
This page is a "brief" summary of some of the huge number of improvements in GCC 11. You may also want to check out our Porting to GCC 11 page and the full GCC documentation.
October 25, Pavia, Italy
November 6-8, Berlin, Germany
November 3-8, Kona, HI, USA
By Adrien Hamelin | Apr 29, 2021 11:21 AM | Tags: community
Improved.
GCC 11 Release Series
From the article:
This page is a "brief" summary of some of the huge number of improvements in GCC 11. You may also want to check out our Porting to GCC 11 page and the full GCC documentation.
By Adrien Hamelin | Apr 29, 2021 11:15 AM | Tags: c++20
The series continue.
C++ coroutines: What does it mean when I declare my coroutine as noexcept?
by Raymond Chen
From the article:
Suppose you want a coroutine that terminates on unhandled exceptions, or equivalently (looking at it from the consumer side) a coroutine that never throws an exception when awaited. For regular functions, the way to say this is to put the noexcept exception specification on your function declaration...
By Adrien Hamelin | Apr 27, 2021 10:56 AM | Tags: c++20
The series continue.
C++ coroutines: Associating multiple task types with the same promise type
by Raymond Chen
From the article:
We created two very similiar promises for hot-start and cold-start coroutines. It turns out that we can unify them...
By Adrien Hamelin | Apr 27, 2021 10:54 AM | Tags: c++20
The series continue.
C++ coroutines: Improving cold-start coroutines which complete synchronously
by Raymond Chen
From the article:
Last time, we learned that the naïve implementation of cold-start coroutines is susceptible to stack build-up. What we want is for await_suspend to return false if the coroutine completed synchronously. This is tricky because that reintroduces a race condition where the coroutine runs asynchronously and completes at the same time we try to transition from synchronous to asynchronous behavior in the awaiter...
By Adrien Hamelin | Apr 27, 2021 10:50 AM | Tags: c++20
The series continue.
C++ coroutines: Cold-start coroutines
by Raymond Chen
From the article:
So far, our coroutine promise has implemented a so-called hot-start coroutine, which is one that begins running as soon as it is created. Another model for coroutines is the so-called cold-start coroutine, which is one that doesn’t start running until it is awaited...
By Andrey Karpov | Apr 27, 2021 06:56 AM | Tags: strlen static code analysis pvs-studio data flow analysis data flow
Somehow, it so happens that we write about our diagnostics, but barely touch upon the subject of how we enhance the analyzer's internal mechanics. So, for a change, today we'll talk about a new useful upgrade for our data flow analysis.
PVS-Studio Learns What strlen is All About
by Andrey Karpov
From the article:
Can you see it? To be honest, we did not notice it immediately and our first thought was, "Oh no, we broke something!" Then we saw what was up and took a minute to appreciate the advantages of static analysis. PVS-Studio warned: V512 A call of the 'strcpy' function will lead to overflow of the buffer 'astr'. asm.cpp 21 Still don't see the error? Let's go through the code step by step.
By Adrien Hamelin | Apr 23, 2021 02:34 PM | Tags: c++20
The series continue.
C++ coroutines: Getting rid of our atomic variant discriminator
by Raymond Chen
From the article:
We continue the refinement of our coroutine implementation by removing the atomic variable used as the discriminant of our result holder variant...
By Adrien Hamelin | Apr 23, 2021 02:33 PM | Tags: community
Will you attend?
Pure Virtual C++ 2021 Schedule Available
by Sy Brand
Fom the article:
The schedule for Pure Virtual C++ 2021 is now live on the event website. Remember to sign up to be the first to access our extra on-demand C++ demos and get more virtual surprises...
By Adrien Hamelin | Apr 23, 2021 02:30 PM | Tags: community
c++ continues to evolve.
Five Awesome C++ Papers for the Q1 2021 and C++23 Status
by Bartlomiej Filipek
From the article:
Between 2018 and 2020, I released several articles with top 5 proposals just around a new ISO C++ meeting happened. Since March 2020, this pattern broke as the meeting went online. Why not restart the series?
We can look at the recent papers from a whole Quarter.
Let’s start!
By Adrien Hamelin | Apr 22, 2021 12:54 PM | Tags: c++20
The series continue.
C++ coroutines: Allowing the awaiter to be destroyed while suspended
by Raymond Chen
Form the article:
One issue that we dealt with when we created our co_await awaitable signal was the case of the awaiter being destroyed while suspended. We had been ignoring that problem in our coroutine promise, but we can’t keep our head in the sand forever. Let’s take a look around and see where we are.