On Sun, 12 Nov 2023, Gerald Pfeifer wrote: [...]
On Sun, 12 Nov 2023, Fabian Maurer wrote:
For those not in the loop: The question came up what GCC version is the oldest supported one, and which language features can't be used in Wine.
I recommend we do not cater to versions of GCC that have been end of life for an extended period of time.
Here are some data points coming from the other side of the equation: what gcc versions do Linux distributions ship?
Then pick the oldest Linux distribution you want to support and that tells you which gcc version to support.
Debian 5 gcc 4.3 Debian 6 gcc 4.4 Debian 7 gcc 4.7.2 Debian 8 gcc 4.8.4 Debian 9 gcc 6.3.0 Debian 10 gcc 8.3.0 Debian 11 gcc 10.2.1 Debian 12 gcc 12.2.0
Ubuntu 14.04 LTS gcc 4.8.2 or 4.9-20140406? Ubuntu 16.10 gcc 6.1.1 (I don't have the 16.04 LTS data) Ubuntu 18.04 LTS gcc 8.2.0 Ubuntu 18.10 gcc 8.2.0 Ubuntu 19.04 gcc 8.3.0 Ubuntu 19.10 gcc 9.2.1 Ubuntu 20.04 LTS gcc 9.3.0 or 10-20200411? Ubuntu 20.10 gcc 10.2.0 Ubuntu 21.04 gcc 11.1.0 Ubuntu 21.10 gcc 11.2.0 Ubuntu 22.04 LTS gcc 11.2.0 or 12-20220319? Ubuntu 22.10 gcc 12.2.0 Ubuntu 23.04 gcc 13.1.0 Ubuntu 23.10 gcc 13.2.0
Fedora 31 gcc 9.2.1 Fedora 32 gcc 10.0.1 Fedora 33 gcc 10.2.1 Fedora 34 gcc 11.0.1 Fedora 35 gcc 11.2.1 Fedora 36 gcc 12.1.1 Fedora 37 gcc 12.2.1 Fedora 38 gcc 13.0.1
RHEL 6.8 gcc 4.4.7 RHEL 7.8 gcc 4.8.5 RHEL 8.1 gcc 8.3.1 RockyLinux 8 gcc 8.5.0 AlmaLinux 9 gcc 11.2.1
openSUSE 15.1 gcc 8.2.1 openSUSE 15.2 gcc 9.2.1 openSUSE 15.3 gcc 10.3.0 openSUSE 15.4 gcc 11.3.0
So: * Pick gcc 4.8 for Debian 8 and RHEL 7 support. * Pick gcc 6.3 for Debian 9 support. * Pick gcc 8.2 for most Linux distributions: Debian 10 openSUSE 15.1 RHEL 8 Ubuntu 18.04 LTS