[squid-dev] RFC: Switch to C++17
Alex Rousskov
rousskov at measurement-factory.com
Mon Dec 5 14:31:39 UTC 2022
On 12/5/22 06:18, Amos Jeffries wrote:
> I support the switch.
Great, I will start working on a PR. If anybody reading this will be
seriously inconvenienced by future Squid v6 requiring C++17, please
speak up!
> Caveat details below...
>> On Sun, 4 Dec 2022 at 16:18, Alex Rousskov wrote:
>> * GCC v5 supports most C++17 features.
>> * GCC v8 supports all relevant C++17 features.
>> * Clang v5 supports nearly all C++17 features.
>> * Clang v8 supports all relevant C++17 features.
> non-RHEL distros shipping Squid are almost all providing at lease GCC
> v8. In many cases even their recently refreshed (Nov 2022) LTS have it.
> The RHEL family distros (CentOS 7 in particular, but also many others)
> LTS versions only provide LLVM/clang v7 from the C++17 compilers.
I believe the key here is not what distros ship by default, but how
difficult it is, for an old distro user, to get the compiler Squid
needs. For example, AFAICT, RHEL users are supposed to use Red Hat
Developer Toolset or GCC Toolset to get modern compilers.
> It has been a while since I had any info about the RedHat developer
> toolset. Do you know if GCC 8+ or LLVM/clang 8+ are in there? if so,
> then bump to v8 for both compilers and full speed ahead :-)
AFAICT[1], Red Hat Developer Toolset "delivers the latest stable GCC
version" for RHEL7. For example, Toolset v10 has GCC v10[2].
RHEL8 has GCC Toolset with characteristics similar to Red Hat Developer
Toolset for RHEL7. For example, GCC Toolset v10 provides GCC v10[3],
while GCC Toolset v12 provides GCC v12[4].
[1] https://developers.redhat.com/products/developertoolset/overview
[2]
https://access.redhat.com/documentation/en-us/red_hat_developer_toolset/10/html/user_guide/chap-red_hat_developer_toolset#sect-Red_Hat_Developer_Toolset-About
[3]
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/developing_c_and_cpp_applications_in_rhel_8/additional-toolsets-for-development_developing-applications#tools-and-versions-provided-by-gcc-toolset-10_gcc-toolset-10
[4]
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/developing_c_and_cpp_applications_in_rhel_8/additional-toolsets-for-development_developing-applications#tools-and-versions-provided-by-gcc-toolset-12_gcc-toolset-12
Thank you,
Alex.
More information about the squid-dev
mailing list