
Recently we stopped supporting C++03. Now, the only compilers which support C++11, but do not claim some support of C++14 (that I am aware of) are GCC versions 4.8 and 4.9. But even C++11 support in those GCC versions is fairly buggy and those who still test on them often have to resort to various tricks to make their code build. Those compilers are fairly old, and the systems that use them increasingly go extinct. This makes me consider removing them from CI. Which is why I want to ask the community several questions: 1) Do you still use GCC 4.8 or 4.9? 2) If you do, is there a specific date when you plan to drop them? 2) Do you use some other compiler which supports C++11, but not C++14 (even with flags like -std=c++1y)?

On Tue, Mar 26, 2024 at 7:29 AM Дмитрий Архипов via Boost
The first two questions from https://www.jetbrains.com/lp/devecosystem-2023/cpp/ should answer your questions. -- -- René Ferdinand Rivera Morell -- Don't Assume Anything -- No Supone Nada -- Robot Dreams - http://robot-dreams.net

René Ferdinand Rivera Morell wrote:
They don't, as it's still possible to use C++11 with GCC 5 and above. In this specific case Boost.Charconv supports C++11, but GCC 5 and above, whereas Boost.JSON supports GCC 4.8 and 4.9. So it's not possible to use Charconv from JSON unless support for 4.x (but not necessarily C++11) is dropped.

On Tue, Mar 26, 2024 at 7:46 AM Peter Dimov via Boost
I see.. In that case it's impossible to answer in this list. As this list is not remotely representative. -- -- René Ferdinand Rivera Morell -- Don't Assume Anything -- No Supone Nada -- Robot Dreams - http://robot-dreams.net

On Tue, Mar 26, 2024 at 5:56 AM Andrey Semashev via Boost < boost@lists.boost.org> wrote:
My understanding of the original post is that dropping C++11 is what's desired
With respect to the libraries I have written, that's going a bit too far for my taste. Arbitrarily dropping C++11 does not sound like a great idea. If requiring at least C++14 offers a significant improvement in some aspect of a library (for example Boost.JSON) then the specifics of that improvement should be discussed and the cost/benefits analyzed. Thanks

On Tue, Mar 26, 2024 at 5:29 AM Дмитрий Архипов via Boost < boost@lists.boost.org> wrote:
GCC versions 4.8 and 4.9.
My libraries target C++11 when doing so does not impair the public interface of the library; I don't mind doing the extra work required to make up for conveniences found in later versions of the language. However my tolerance for GCC 4.x with respect to incomplete or defective support for C++11 is non-existent. I will support those versions as long as doing so does not require heroics or an inordinate amount of my time. If you want to drop support for those compiler versions you have my blessing. Thanks

The original question stems from: https://github.com/boostorg/charconv/issues/174. I have the exact same opinion of GCC 4.X which is why it is not supported in charconv. Dropping support for GCC 4.X in JSON to allow for the use of charconv yields substantial performance improvements: https://github.com/boostorg/json/pull/993. Matt

Le 2024-03-26 13:28, Дмитрий Архипов via Boost a écrit :
1) Do you still use GCC 4.8 or 4.9?
yes (4.8.4 targetting arm)
2) If you do, is there a specific date when you plan to drop them?
As soon as possible. But validating an entire toolchain upgrade has a cost with little direct benefit, so in reality it is likely to be delayed a lot. But the same goes with upgrading boost: we still use 1.61 for that target. So it won't affect us if newer versions of boost no longer compiles with our outdated toolchain. RHEL7 has gcc 4.8 by default. But it will go end of maintenance in June. At that time, i don't think there will be any remaining major platform using this compiler. So it may be a good time to drop it for boost as well. Regards, Julien

Using C++/Boost both at work (RHEL) and privately (Ubuntu): 1) no 2) - 3) no Am Di., 26. März 2024 um 13:29 Uhr schrieb Дмитрий Архипов via Boost < boost@lists.boost.org>:
-- “Dubito ergo cogito; cogito ergo sum. (I doubt, therefore I think; I think therefore I am)” René Descartes

1) Do you still use GCC 4.8 or 4.9?
On some older systems yes
2) If you do, is there a specific date when you plan to drop them?
As long as product exists Generally speaking, dropping support of something unless it is total nightmare to support isn't good idea. You are looking at cutting edge but the real world is far from it, I only recently started requiring in some of the code I write/participate C++11 Artyom
participants (10)
-
Andrey Semashev
-
Artyom Beilis
-
Boris Kolpackov
-
Julien Blanc
-
Matt Borland
-
Peter Dimov
-
René Eng
-
René Ferdinand Rivera Morell
-
Vinnie Falco
-
Дмитрий Архипов