[Development] C++20 comparisons @ Qt (was: Re: C++20 @ Qt)
Ivan Solovev
ivan.solovev at qt.io
Mon Nov 13 10:34:08 CET 2023
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-bounces at qt-project.org> on behalf of Thiago Macieira <thiago.macieira at intel.com>
Sent: Friday, November 10, 2023 6:12 PM
To: development at qt-project.org <development at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20231113/e870be96/attachment.htm>
More information about the Development
mailing list