El dimarts, 25 de novembre del 2025, a les 10:46:03 (Hora estàndard d’Europa central), Nicolas Fella va escriure: > Am 25.11.25 um 10:21 schrieb Albert Astals Cid: > > El dimarts, 25 de novembre del 2025, a les 1:35:03 (Hora estàndard > > d’Europa > > > > central), Michael Pyne va escriure: > >> On 11/24/25 3:58 PM, Neal Gompa wrote: > >>> On Mon, Nov 24, 2025 at 3:54 PM Albert Astals Cid<[email protected]> wrote: > >>>> https://community.kde.org/Frameworks/Policies#Frameworks_compiler_requi > >>>> re > >>>> ments_and_Modern_C++ > >>>> > >>>> It is wildly outdated, so I would suggest to remove it. > >>>> > >>>> Or does someone have a suggested way to update it? > >>> > >>> As far as I know, starting from 6.0, we require a C++20 capable > >>> compiler. That means at least GCC 12, Clang 14, or MSVC 2022 I > >>> believe. > > We did say we _want_ C++20. What specific compiler versions this > translates to is rather fuzzy since different compiler versions > implements different subsets of C++20 (e.g. for the longest time > "nobody" usefully implemented modules). Because of that I don't think we > ever settled on specific versions. > > >> I think there is value in having the policy for allowable C++ standards > >> and/or compilers written down in some easily-accessible form. Perhaps a > >> bit more future-proofed so it doesn't get wildly outdated again. I've > >> been able to find references to requiring C++20-supporting compilers for > >> KF6 starting from 6.0. > > > > The problem is, what is the value of a policy if we do not check/enforce > > it? > > > > Right now the only thing we can say is "it builds with whatever compilers > > we have in CI". > > Even if we don't enforce it by CI there is still value to it. If > somebody comes around and points out that we broke compilation on > "reasonably recent platform" that's going to be a different conversation > than if it's Ubuntu 14.04.
Ok, fair enough, what about something like A) KDE Frameworks can use features of the previous to latest C++ standard, at the time of writing (November 2025) that means C++20. B) KDE Frameworks shall compile with the major compilers: gcc, clang and msvc(for Frameworks that claim Windows support) C) KDE Frameworks shall compile with "reasonably old" versions of the compilers that claim to support the C++ standard mentioned in point "A" Cheers, Albert > > > Cheers, > > > > Albert > >> > >> Are there any other relevant policies that apply to KF6 for C++ support > >> and/or compiler support? Assuming not, I'd propose that the page be > >> updated to note that KDE Frameworks require a C++20-compatible compiler, > >> and that the compiler must also be supported by the minimum required Qt > >> version as listed in the prior section. > >> > >> If it were not for Qt supporting as far back as GCC 9 (for openSUSE) we > >> might simply be able to require the same compiler Qt requires. But it's > >> not until GCC 12 you get nearly full support for C++20 (and even 12 > >> still misses parts of C++ modules support), so it's probably still worth > >> mentioning we require a C++20-capable compiler. > >> > >> I'll volunteer to update the page if that works, something along the > >> lines of KF6 requires a C++ compiler that is compliant with at least > >> C++20 and supported by the oldest supported Qt 6 minor release. > >> > >> Regards, > >> > >> - Michael Pyne
