Misc #20170
closed
Drop support for GCC < 11
Added by kddnewton (Kevin Newton) 11 months ago.
Updated 6 months ago.
Description
Right now, CI compiles everything from GCC 7+. However, GCC 7-10 are all end-of-life and no longer supported. We should drop support for the end-of-life compilers.
OpenBSD/sparc64 (and maybe some other OpenBSD arches) build Ruby using GCC 8.4 (as Clang/LLVM sparc64 support isn't mature enough yet). So if possible, I would prefer to not drop support for GCC 8.4 yet.
In regard of compilers, we should look at not only the maintenance status of the upstream but also the one of major package distributions. I have investigated some distributions with long maintenance periods:
- RHEL8 (maintenance support until May 31, 2029) provides gcc 8.5
- Amazon Linux 2 (maintenance support until Jun 30, 2025) provides gcc 7.3
Of course we are not obliged to support them until they stop supporting them. However, it is also true that it can be troublesome for users of those distributions. I think we need a good reason to drop them.
Could you share a context in which you want to drop support? You want to use a new GCC feature, or you are facing on some actual maintenance issue?
As jeremy pointed out, one potential drawback for dropping support for
older GCC may be that ruby could not be compiled on certain platforms
anymore. Personally I think the more platforms (and compilers) for ruby
to run on, the better, if the maintenance burden does not outweigh support
for such platforms. Even if the actual user base is rather small, I agree
with jeremy from a principle point of view. (I myself compile everything
from source on my Linux system, with the help of ruby scripts, so I am
running GCC 13.2.0 just fine, but I remember having had issues in the past
with an old CentOS system in a restricted university-campus setting, and
I also once wanted to have HaikuOS work with ruby but eventually gave up
on it. So I think I can relate to jeremy's point of view.)
- Related to Misc #19353: Drop gcc <= 6 and clang <= 9 added
- Status changed from Open to Closed
I'm okay to wait on this. My main reason is one day I would love to use C11 features, particularly _Generic, aligned_alloc, and static_assert. I assume/hope we will get there someday.
Also available in: Atom
PDF
Like1
Like0Like1Like0Like0Like0Like0