summaryrefslogtreecommitdiffstats
path: root/src/tools
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@kdab.com>2015-06-01 00:22:35 +0200
committerMarc Mutz <marc.mutz@kdab.com>2015-12-18 19:07:33 +0000
commit1cf2620d5b87e9e429b5736073db01d0f2f4ed36 (patch)
tree8b1eb62bc4a62cda6b018aa144ba7df52226bbc0 /src/tools
parentd44cd5334a97f30a50295c385f855d751c187b9e (diff)
De-duplicate QGraphicsItemPrivate vtable
By making the destructor (usually the first non-inline, non-pure, virtual function, and therefore the trigger for most compilers to emit the vtable and type_info structures for the class in that TU) out-of-line, vtables and, more importantly, type_info structures for the class are pinned to a single TU. This prevents false negative dynamic_cast and catch evaluation. Since QGraphicsItemPrivate is already exported, users of this class are unaffected by the change, and since it's private API, we don't need to avoid adding code to the out-of-line destructor until Qt 6. Also saves ~2.5KiB in text size on optimized GCC 4.9 Linux AMD64 builds. Task-number: QTBUG-45582 Change-Id: Ibb404a43d5464e8e280ccebd5f95719852f5a986 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Diffstat (limited to 'src/tools')
0 files changed, 0 insertions, 0 deletions