On Wed, Jul 8, 2020 at 8:00 PM Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote: > > On Wed, Jul 8, 2020 at 9:21 AM Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote: > > > > > > It's perhaps yet another reason to just skip gcc-4.8 too, since > > > apparently 4.9 works. > > > > > > gcc-4.9 really has a lot of advantages. It's where (I think) gcc > > > basically supports all C11 things, including _Generic() but also > > > __auto_type. > > > > +1 > > > > Anybody for nay, or should we just do this? > > I'll just do it. Let's see if anybody screams with a good reason. I > hate the whole "support old compilers", it ends up not only making for > complex code, it tends to cause these unnecessary kinds of "guys, we > tested this really well, but that crazy compiler had a very particular > odd issue, and it wasn't in any test box. Cool, thanks for changing it, this is clearly a better suited compiler version. Aside from the added C11 features, this is also where a lot of the optimizations changed, so code generation is more predictable if we don't need to worry about gcc-4.8. On the flip side, gcc-4.8 was used by old enterprise distros that are still supported (SUSE 12, RHEL 7), whereas gcc-4.9 was only shipped in Debian Jessie and Android releases that are both EOL now (Android never moved beyond a buggy gcc-4.9 prerelease but now uses clang for everything). I don't see any technical reasons to go even further, but if something does come up, the users of these Long-term supported distros would be most impacted by a change: gcc-4.9: Used in Debian 8 (Jessie), EOL June 2020 gcc-5: Used in Ubuntu 16.04 (Xenial, Mint 18, ...), EOL April 2021 gcc-6: Used in Debian 9 (Stretch), EOL 2022 gcc-7: Used in SLES 15, Ubuntu 18.04 (Bionic, Mint 19, ...) gcc-8: Used in RHEL-8 (centos, oracle, ...), OpenWRT The most interesting version to require in the future would be gcc-7, which IIRC is the point at which we can just use -std=gnu99 or -std=gnu11 instead of -std=gnu89 without running into the problem with compound literals[1]. Arnd [1] https://patchwork.kernel.org/patch/11195831/