I support the switch.

Caveat details below...


On 5/12/2022 5:21 am, Francesco Chemolli wrote:
I support the switch

On Sun, 4 Dec 2022 at 16:18, Alex Rousskov wrote:

    Hello,

    C++17 is supported by popular modern compilers and stable distros.
    Squid
    master branch should target those IMO. Even old environments can
    install
    the necessary modern compilers (e.g., RHEL5 users can get them via
    Red
    Hat Developer Toolset).

    * 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.

So I think we could bump to require GCC v8 or Clang v7 minimum without much fuss. That would leave us figuring out what (if any) hacks we needed for the clang v7 vs C++17 feature gaps. Hopefully no worse than what we have been doing to figure out the GCC 4.8 vs C++11 feature gaps.

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 :-)



    Switching to just C++14 would be better than nothing, but it will not
    give us several C++17 features that we already waste serious time on
    emulating/avoiding (e.g., std::optional). We should not switch to
    C++20
    yet because modern stable compilers still have some C++20 support
    holes.


Agreed, C++14 is not worth the jump, and C++20 is far too early.

[ IMO in general we should leave ~5 years for the distro LTS to catch up on compilers releases before considering adopting a language update. ]


Cheers
Amos

_______________________________________________
squid-dev mailing list
squid-dev@lists.squid-cache.org
http://lists.squid-cache.org/listinfo/squid-dev

Reply via email to