https://github.com/brad0 updated https://github.com/llvm/llvm-project/pull/162796
>From 0f81e057ccb435b910a6d8068784b70bde764c4e Mon Sep 17 00:00:00 2001 From: Brad Smith <[email protected]> Date: Fri, 10 Oct 2025 03:06:57 -0400 Subject: [PATCH] [clang] Updates for support for Ubunutu, Debian and RHEL Remove support for long unsupported Ubuntu, Debian and RHEL. Add support for RHEL 8, 9 and 10 and recognize Rocky and Alma Linux as RHEL. --- clang/include/clang/Driver/Distro.h | 18 ++++++------------ clang/lib/Driver/Distro.cpp | 26 +++++++++----------------- 2 files changed, 15 insertions(+), 29 deletions(-) diff --git a/clang/include/clang/Driver/Distro.h b/clang/include/clang/Driver/Distro.h index 008de0dc94b03..9544ab53f7fd9 100644 --- a/clang/include/clang/Driver/Distro.h +++ b/clang/include/clang/Driver/Distro.h @@ -30,9 +30,6 @@ class Distro { // the first and last known member in the family, e.g. IsRedHat(). AlpineLinux, ArchLinux, - DebianLenny, - DebianSqueeze, - DebianWheezy, DebianJessie, DebianStretch, DebianBuster, @@ -42,16 +39,13 @@ class Distro { DebianForky, DebianDuke, Exherbo, - RHEL5, - RHEL6, RHEL7, + RHEL8, + RHEL9, + RHEL10, Fedora, Gentoo, OpenSUSE, - UbuntuMaverick, - UbuntuNatty, - UbuntuOneiric, - UbuntuPrecise, UbuntuQuantal, UbuntuRaring, UbuntuSaucy, @@ -120,17 +114,17 @@ class Distro { /// @{ bool IsRedhat() const { - return DistroVal == Fedora || (DistroVal >= RHEL5 && DistroVal <= RHEL7); + return DistroVal == Fedora || DistroVal >= RHEL7 && DistroVal <= RHEL10); } bool IsOpenSUSE() const { return DistroVal == OpenSUSE; } bool IsDebian() const { - return DistroVal >= DebianLenny && DistroVal <= DebianDuke; + return DistroVal >= DebianJessie && DistroVal <= DebianDuke; } bool IsUbuntu() const { - return DistroVal >= UbuntuMaverick && DistroVal <= UbuntuQuesting; + return DistroVal >= UbuntuQuantal && DistroVal <= UbuntuQuesting; } bool IsAlpineLinux() const { return DistroVal == AlpineLinux; } diff --git a/clang/lib/Driver/Distro.cpp b/clang/lib/Driver/Distro.cpp index 8a5a9fc3026a3..96dc83a66dd3e 100644 --- a/clang/lib/Driver/Distro.cpp +++ b/clang/lib/Driver/Distro.cpp @@ -61,10 +61,6 @@ static Distro::DistroType DetectLsbRelease(llvm::vfs::FileSystem &VFS) { if (Version == Distro::UnknownDistro && Line.starts_with("DISTRIB_CODENAME=")) Version = llvm::StringSwitch<Distro::DistroType>(Line.substr(17)) - .Case("maverick", Distro::UbuntuMaverick) - .Case("natty", Distro::UbuntuNatty) - .Case("oneiric", Distro::UbuntuOneiric) - .Case("precise", Distro::UbuntuPrecise) .Case("quantal", Distro::UbuntuQuantal) .Case("raring", Distro::UbuntuRaring) .Case("saucy", Distro::UbuntuSaucy) @@ -119,13 +115,17 @@ static Distro::DistroType DetectDistro(llvm::vfs::FileSystem &VFS) { if (Data.starts_with("Fedora release")) return Distro::Fedora; if (Data.starts_with("Red Hat Enterprise Linux") || - Data.starts_with("CentOS") || Data.starts_with("Scientific Linux")) { + Data.starts_with("CentOS") || Data.starts_with("Alma Linux") || + Data.starts_with("Rocky Linux") || + Data.starts_with("Scientific Linux")) { + if (Data.contains("release 10")) + return Distro::RHEL10; + if (Data.contains("release 9")) + return Distro::RHEL9; + if (Data.contains("release 8")) + return Distro::RHEL8; if (Data.contains("release 7")) return Distro::RHEL7; - else if (Data.contains("release 6")) - return Distro::RHEL6; - else if (Data.contains("release 5")) - return Distro::RHEL5; } return Distro::UnknownDistro; } @@ -138,12 +138,6 @@ static Distro::DistroType DetectDistro(llvm::vfs::FileSystem &VFS) { int MajorVersion; if (!Data.split('.').first.getAsInteger(10, MajorVersion)) { switch (MajorVersion) { - case 5: - return Distro::DebianLenny; - case 6: - return Distro::DebianSqueeze; - case 7: - return Distro::DebianWheezy; case 8: return Distro::DebianJessie; case 9: @@ -165,8 +159,6 @@ static Distro::DistroType DetectDistro(llvm::vfs::FileSystem &VFS) { } } return llvm::StringSwitch<Distro::DistroType>(Data.split("\n").first) - .Case("squeeze/sid", Distro::DebianSqueeze) - .Case("wheezy/sid", Distro::DebianWheezy) .Case("jessie/sid", Distro::DebianJessie) .Case("stretch/sid", Distro::DebianStretch) .Case("buster/sid", Distro::DebianBuster) _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
