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

Reply via email to