diff options
author | Marc Mutz <marc.mutz@kdab.com> | 2015-06-01 00:22:35 +0200 |
---|---|---|
committer | Marc Mutz <marc.mutz@kdab.com> | 2017-02-16 05:02:34 +0000 |
commit | 5486882b5253c858cc545cc3a08f0f89af59578e (patch) | |
tree | 664168f27e3597a8a5127316529ded142c1b95bc /mkspecs/winrt-arm-msvc2015 | |
parent | ee0edf1b0aa36cfdd5d9628b2bbeb1fb590a3290 (diff) |
Android: De-duplicate vtables of exported private classes
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 the classes are already exported, users of these classes 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.
While at it, de-inline also the empty default implementations of
virtual (non-dtor) functions.
Task-number: QTBUG-45582
Change-Id: I3e6f37eab1dee0db445f6c13638a43ca3bf6ac62
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'mkspecs/winrt-arm-msvc2015')
0 files changed, 0 insertions, 0 deletions