Project:Toolchain/sys-devel/gcc

Release cycle

 * Upstream maintains approximately 3 branches at a time (e.g. 10/11/12).
 * The last version of a branch is usually X.5, e.g. GCC 9.5. Upstream then immediately close the relevant branch (e.g. releases/gcc-9) and it is no longer used for backports.
 * When a new major GCC version enters Stage 4, the Gentoo Toolchain project begins testing (or steps up efforts if they already began) with building large amounts of the tree. Request tinderboxing if possible.
 * At this point, it's encouraged that developers with backups consider converting their experimental systems to the new, unreleased version.

Snapshots

 * We try to package the weekly snapshots published by the GCC developers.
 * This matches what e.g. opensuse does and it allows us to easily pick up fixes rather than trying to delicately cherry-pick only a handful and possibly missing dependent commits as a result (GCC doesn't at present use 'Fixes' very often in commit messages, so it's not always easy to establish).
 * Don't keyword every snapshot and snapshots should usually start off unkeyworded even if the intent is to keyword-and-later-stable it.
 * The snapshots correspond to a particular release branch, except for the latest unreleased version, and are safe to use.
 * GCC doesn't make frequent stable releases because of the work involved on their end and expect distributions to pull from these branches.

Usage
The following is a snippet to pick up the snapshots in each slot even if unkeyworded: