[Development] 64-bit QFlags support
Thiago Macieira
thiago.macieira at intel.com
Tue Oct 1 00:22:48 CEST 2024
On Thursday 12 September 2024 06:59:55 GMT-7 Thiago Macieira wrote:
> > +1 for that! That's one of the things that we pay attention to during API
> > review in Qt, so hopefully all new Qt APIs will either use `enum class`,
> > or explicitly define an underlying type.
>
> The first part of the update is ready for review and has passed the CI, for
> "full". Considering the number of changes and how critical, the more eyes
> available the better:
The first part is now integrated into 6.9. There are lots of commits remaining
in this major refactor because not everything is reviewed yet, but I wanted to
get the constexpr code to generate the metaobject in, to get feedback.
Please report if you have anything If you use separate host tools from qtbase,
you don't have to rebuild your host tools just yet.
There are already two:
1) Q_ENUMs and Q_FLAGs on 64-bit enumerations are failing with a
static_assert. In hindsight, I shouldn't have added that. It's fixed by a
follow-up commit, which implements the support for QMetaObject.
I didn't originally plan on staging only a portion of the functionality, but
since the reviews are slow to come by and the CI has been VERY temperamental
this weekend (tst_QShortcut, tst_QWidget_window), I wanted to get this one in.
2) Jøger reports that VS is failing to compile the meta object of a private
class. I think that's a compiler bug, because there is an equivalent test in
tst_Moc and that compiles. I can't reproduce the issue because I can't compile
the code in question (qtmultimedia fails to cmake for me and even if it did, I
don't have FFMPEG for VS).
If someone can investigate this further and determine how
QFFmpegWindowCaptureUwp::Grabber is different from tst_Moc::PrivateClass, I'd
appreciate. As a workaround, just make the class public. This is in a plugin
anyway.
If it turns out that it is a compiler bug, I don't plan on investigating
anything for a workaround nor for reporting to MS. We'll just document
"upgrade to a better compiler or make your class public".
--
Thiago Macieira - thiago.macieira (AT) intel.com
Principal Engineer - Intel DCAI Platform & System Engineering
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5152 bytes
Desc: not available
URL: <http://lists.qt-project.org/pipermail/development/attachments/20240930/056ec7ef/attachment.bin>
More information about the Development
mailing list