Thiago wrote: > The problem is that QPartialOrdering::Unordered has been in our ABI since 6.1 > and we can't change that any more.
Well, Marc already suggested a solution for this problem. Let's just introduce Qt::{strong,weak,partial}_ordering and deprecate QPartialOrdering in favor of the new types. We need to provide conversion between QPartialOrdering and Qt::partial_ordering, but the new types can be fully BC with std. See the details in https://bugreports.qt.io/browse/QTBUG-118913 Thanks, Ivan ________________________________ From: Development <development-boun...@qt-project.org> on behalf of Thiago Macieira <thiago.macie...@intel.com> Sent: Friday, November 10, 2023 6:12 PM To: development@qt-project.org <development@qt-project.org> Subject: Re: [Development] C++20 comparisons @ Qt (was: Re: C++20 @ Qt) On Friday, 10 November 2023 00:11:11 PST Marc Mutz via Development wrote: > On 09.11.23 16:28, Thiago Macieira wrote: > > But if the symbols are globally visible (ELF visibility STV_DEFAULT) > > That counts as "exported", doesn't it? Yes. > Which leaves us with: > - MSVC doesn't export anything by default; inline functions are, > however, exported when the surrounding class is wholly exported > - on all other platforms, all functions are by default "exported", but > we emulate MSVC on those platforms by changing the default visibility to > hidden, incl. for inline functions > > And my previous questions: > > - do our BC guarantees exist at all in the absence of > `-fvisibility=hidden -fvisibility-inlines-hidden`? Yes, we have to, because we don't control how the user's library is being compiled. > - does making the Qt and std::ordering types BC with each other not > solve the problem in this case, too? It does. We should really do that for Qt 7.0. The problem is that QPartialOrdering::Unordered has been in our ABI since 6.1 and we can't change that any more. -- Thiago Macieira - thiago.macieira (AT) intel.com Cloud Software Architect - Intel DCAI Cloud Engineering
-- Development mailing list Development@qt-project.org https://lists.qt-project.org/listinfo/development