[Development] 64-bit QFlags support

Thiago Macieira thiago.macieira at intel.com
Thu Sep 12 15:59:55 CEST 2024


On Friday 9 August 2024 01:36:22 GMT-7 Ivan Solovev via Development wrote:
> > This means developers *must*
> > add an explicit underlying type to the enumeration in order to use it as
> > 64- bit if you care for cross-platform compatibility.
> 
> +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:

https://codereview.qt-project.org/q/topic:%22constexpr-moc-and-qflags64%22

https://codereview.qt-project.org/c/qt/qtbase/+/589884:
  moc: indent the if () statements in qt_{static_,}metacall correctly
https://codereview.qt-project.org/c/qt/qtbase/+/589885:
  moc: improve control of Q_UNUSED / (void) in qt_static_metacall()
https://codereview.qt-project.org/c/qt/qtbase/+/589926:
  moc: move the static_cast<ObjectType *> to the top of qt_static_metacall
https://codereview.qt-project.org/c/qt/qtbase/+/589886:
  moc: remove unnecessary space inside the parameter of reinterpret_cast
https://codereview.qt-project.org/c/qt/qtbase/+/586751:
  moc: rename qt_meta_stringdata_%s_t to qt_meta_tag_%s_t
https://codereview.qt-project.org/c/qt/qtbase/+/587793:
  moc: change the mangling of class names to closer to the IA-64 ABI
https://codereview.qt-project.org/c/qt/qtbase/+/589897:
  moc & QMetaProperty: remove stale use of int to pass QFlags values
https://codereview.qt-project.org/c/qt/qtdeclarative/+/582417:
  QQmlPropertyCache: prepare to accept the meta object revision 13
https://codereview.qt-project.org/c/qt/qtbase/+/581752:
  moc & QMetaObject: move the QMetaMethod revision information
https://codereview.qt-project.org/c/qt/qtbase/+/582608:
  moc: add constexpr functions to generate the uint data
https://codereview.qt-project.org/c/qt/qtbase/+/581751:
  moc: generate the uint data using the new constexpr functions
https://codereview.qt-project.org/c/qt/qtbase/+/589930:
  QCommonStyle: work around apparent MSVC bug in using QFlag
https://codereview.qt-project.org/c/qt/qtbase/+/580778:
  Long live 64-bit QFlags
https://codereview.qt-project.org/c/qt/qtbase/+/581753:
  moc: add support for storing 64-bit enums and flags
https://codereview.qt-project.org/c/qt/qtbase/+/581754:
  QMetaEnum: add support for reading 64-bit flags and enums
https://codereview.qt-project.org/c/qt/qtbase/+/581757:
  tst_QMetaProperty: extend the enum test with reading and unsigned enums
https://codereview.qt-project.org/c/qt/qtbase/+/581758:
  moc/QMetaProperty: add support for reading and writing 64-bit QFlags
https://codereview.qt-project.org/c/qt/qtbase/+/581759:
  QDebug: improve support for printing 64-bit QFlags
https://codereview.qt-project.org/c/qt/qtbase/+/581756:
  QMetaObjectBuilder: add support for 64-bit flags and enums
https://codereview.qt-project.org/c/qt/qtbase/+/586454:
  QMetaMethod: make some QByteArray-returning methods slightly faster

-- 
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/20240912/78a0202e/attachment.bin>


More information about the Development mailing list