qt5base-lts/tests/auto/other
Marc Mutz 5f1f0fe0b7 QDateTimePrivate: inherit QSharedData and other cleanups
Don't manage the ref-count yourself, as this requires the code to use
the QAtomic copy ctor, which we want to remove going forward. Using
QSharedData, we can let the compiler write the code for us.

Since 'ref' this way moves to the first spot in the list of effective
members, creating a 4B hole between itself and 'msecs', swap 'status'
and 'msecs' to fill the hole:

  offset:   0       8      16      24
            |       |       |       |
  without   v       v       v       v
  adj.mnt: |*R*|   | msecs | S | U | TZ....
  before:  | msecs | S | U |*R*|   | TZ...
  after:   |*R*| S | msecs | U |   | TZ....

This keeps the padding out of the critical first word, which improves
latency. That said, for accessing the members the old layout surely was
optimal. This layout optimizes copies and pessimizes access to 'msecs'
on 32-bit platforms without the Critical Word First optimization.

Requires adjustments to tst_toolsupport and the qhooks version.

Also default members using NSDMI, consequently drop the manual default
ctor.

Change-Id: I3c48e68694ad29b28a13aa47ea0f283fae52edd7
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-08-07 20:09:13 +00:00
..
android Updated license headers 2016-01-21 18:55:18 +00:00
compiler Port from QAtomic::load() to loadRelaxed() 2019-06-20 20:48:59 +02:00
gestures unblacklist passing tests 2019-07-08 11:01:42 +00:00
lancelot Remove usages of deprecated APIs of qtbase/gui 2019-07-13 10:43:15 +02:00
languagechange winrt: Fix tst_qlanguagechange 2017-06-19 07:06:00 +00:00
macgui tests: require widgets explicitly 2019-02-01 21:45:50 +00:00
macnativeevents macOS: Remove blacklist entries for no longer supported OS versions 2018-11-12 07:16:30 +00:00
macplist tests: require widgets explicitly 2019-02-01 21:45:50 +00:00
networkselftest unblacklist passing tests 2019-07-08 11:01:42 +00:00
qabstractitemmodelutils tests: remove the last uses of Java-style iterators 2019-06-13 09:40:26 +02:00
qaccessibility Handle missing enum value in test 2019-05-13 16:39:44 +00:00
qaccessibilitylinux Fix compilation of tst_qaccessibilitylinux 2019-05-07 10:07:59 +00:00
qaccessibilitymac unblacklist passing tests 2019-07-08 11:01:42 +00:00
qcomplextext Fix two smaller bugs in the BiDi engine 2019-02-09 08:01:26 +00:00
qfocusevent unblacklist passing tests 2019-07-08 11:01:42 +00:00
qnetworkaccessmanager_and_qprogressdialog unblacklist passing tests 2019-07-08 11:01:42 +00:00
qobjectrace Port from QAtomic::load() to loadRelaxed() 2019-06-20 20:48:59 +02:00
qprocess_and_guieventloop Add cmdline feature to qmake 2019-02-18 07:12:14 +00:00
qsharedpointer_and_qwidget Updated license headers 2016-01-21 18:55:18 +00:00
qtokenautomaton tests: Unify license to GPL-EXCEPT 2017-04-03 07:18:46 +00:00
qvariant_common Updated license headers 2016-01-21 18:55:18 +00:00
toolsupport QDateTimePrivate: inherit QSharedData and other cleanups 2019-08-07 20:09:13 +00:00
xkbkeyboard platforminputcontexts: use libxkbcommon compose key API 2019-03-01 14:31:37 +00:00
other.pro Merge remote-tracking branch 'origin/5.12' into 5.13 2019-03-06 12:31:50 +01:00