Go to file
Marc Mutz 15b5b28425 QSlotObjectBase: re-enable tail-call optimisation in impl()
Two of the three operations in impl() return void, among them the
most common one, call(). Having impl() return bool prevents tail-
call optimisations for these.

Fix by passing the bool return value for Compare as an out-parameter.

Results in a nice decrease in text size
(GCC 4.8-pre -O2 -std=c++11, stripped):

   text    data     bss     dec     hex filename
 507343   13984      48  521375   7f49f tst_qobject (old)
 505551   13984      48  519583   7ed9f tst_qobject (new)

Reported-by: Thiago Macieira <thiago.macieira@intel.com>

Change-Id: I7538c5b3f0992970c089e44f07244e6b62794a1d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-08-15 23:40:57 +02:00
bin Skip doc subfolders when checking includes. 2012-08-01 15:37:46 +02:00
config.tests introduce compileTest function 2012-08-14 12:49:37 +02:00
dist Add some more of my 5.0.0 changes 2012-08-14 12:49:37 +02:00
doc Ignore Q_DECL_NOEXCEPT in qdoc 2012-08-15 11:38:37 +02:00
examples Doc: Fix broken return codes for a few examples 2012-08-15 11:38:37 +02:00
lib Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
mkspecs set QT_PLUGIN_PATH for tools 2012-08-15 09:19:09 +02:00
qmake revamp preparation of command line for qmake calls in makefiles 2012-08-14 23:12:23 +02:00
src QSlotObjectBase: re-enable tail-call optimisation in impl() 2012-08-15 23:40:57 +02:00
tests Fix tst_qbytearray on QNX 2012-08-15 15:19:55 +02:00
tools QUrl is not necessary for configure.exe, drop it from the .pro 2012-08-15 23:40:57 +02:00
util QUnicodeTables: some internal API renamings 2012-06-22 09:47:59 +02:00
.gitattributes Added .tag file with Git revision. 2011-05-03 16:23:49 +02:00
.gitignore Add the CMake directory created during unit testing to .gitignore. 2012-07-23 07:06:23 +02:00
.tag Added .tag file with Git revision. 2011-05-03 16:23:49 +02:00
configure Merge L_FLAGS and l_FLAGS in configure 2012-08-14 12:49:37 +02:00
configure.bat Remove Q_BYTE_ORDER and -*-endian arguments from configures 2012-03-02 14:48:00 +01:00
header.BSD Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00
header.FDL Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00
header.LGPL Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00
header.LGPL-ONLY Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00
INSTALL Remove Symbian specific code from qtbase. 2012-01-31 07:08:31 +01:00
LGPL_EXCEPTION.txt Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
LICENSE.FDL Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
LICENSE.GPL Add the LICENSE.GPL file to the module referenced from license headers 2012-05-20 22:41:08 +02:00
LICENSE.LGPL Update contact information in license headers. 2012-01-23 04:04:33 +01:00
LICENSE.PREVIEW.COMMERCIAL Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
qtbase.pro Install right version of tools when x-compiling. 2012-07-17 12:52:48 +02:00
sync.profile Revert "Move QWindowSystemInterface out of qpa." 2012-08-03 00:38:09 +02:00