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
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)?
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:
On Tue, Mar 26, 2024 at 7:29 AM Дмитрий Архипов via Boost
wrote: 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)?
The first two questions from https://www.jetbrains.com/lp/devecosystem-2023/cpp/ should answer your questions.
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
René Ferdinand Rivera Morell wrote:
On Tue, Mar 26, 2024 at 7:29 AM Дмитрий Архипов via Boost
wrote: 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)?
The first two questions from https://www.jetbrains.com/lp/devecosystem-2023/cpp/ should answer your questions.
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.
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 3/26/24 15:46, Peter Dimov via Boost wrote:
René Ferdinand Rivera Morell wrote:
On Tue, Mar 26, 2024 at 7:29 AM Дмитрий Архипов via Boost
wrote: 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)?
The first two questions from https://www.jetbrains.com/lp/devecosystem-2023/cpp/ should answer your questions.
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.
My understanding of the original post is that dropping C++11 is what's desired, and dropping the older compilers is a side effect of that. Hence the third question.
вт, 26 мар. 2024 г. в 15:56, Andrey Semashev via Boost
My understanding of the original post is that dropping C++11 is what's desired, and dropping the older compilers is a side effect of that. Hence the third question.
I am potentially interested in both, but usage of GCC 4.8 and 4.9 is of a bit more immediate interest.
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
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.
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
Дмитрий Архипов via Boost
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.
Hm, in my experience, GCC 4.9 has a pretty serviceable support for C++14. FWIW, our baseline for build2 is GCC 4.9, Clang 3.7, and MSVC 14.3, all in the C++14 mode.
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>:
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)?
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
-- “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
-
Дмитрий Архипов