GCC toolchain versioning policy? (D43779)


As per[1], gcc-4.8 is the oldest supported *major* gcc version.
But what about minor/patch versions?

When ⚙ D43779 [Tooling] [0/1] Refactor FrontendActionFactory::create() to return std::unique_ptr<> was initially committed,
a few[2][3] buildbots failed. As i have now looked into the issue:
* but it is *REPRODUCIBLE* with gcc-4.8.4 and gcc-4.9.2 from debian
oldstable (Jessie).
* it is *NOT* reproducible with gcc-4.8.5 and gcc-4.9.3 from ubuntu 16.04,
So it looks like it was a gcc problem, and it is resolved in latest
minor/patch versions.

So is there some more specific guideline on minor/patch version requirements?
Do we want LLVM to be buildable with all gcc 4.8/4.9 versions?
Or is it okay to only build with the latest point versions, that
contain the fix?

(Regardless, it would be good to have the answer in [1])


[1] http://llvm.org/docs/GettingStarted.html#host-c-toolchain-both-compiler-and-standard-library
[2] http://lab.llvm.org:8011/buildslaves/atom1-buildbot
[3] http://lab.llvm.org:8011/buildslaves/ps4-buildslave1a

Hmm, i guess i should have mailed cfe-dev too. Doing that now.

  • Denis and Galina who should know about the affected buildbots and whether it’s fine to upgrade them or whether their configurations reflect some important use cases. Sylvestre should know if the release process for LLVM on Ubuntu/Debian relies on the older GCC toolchains somehow.


For Ubuntu (Trusty 14.04), I am using the ppa backport for apt.llvm.org

I don't mind doing that for more recent versions of Ubuntu.

On Debian Jessie, gcc 4.9.2-2 is available
On Debian Stretch, it is 6.3.0-18+deb9u1
Here, it is harder to use a more recent version of gcc, so, if we can keep 4.9 has minimal, this would be better for apt.llvm.org

I don't see Debian or Ubuntu updating to these version of gcc for a simple bug.
So, in general, users would have to upgrade their gcc version (which isn't always smooth).