e41b45f1ae
On templates, adding constexpr makes a given instantiation constexpr if it can be. This turns qMakePair(0,0), say, into a compile-time constant. The effects on existing code are small, but exist: $ size lib/*{-baseline,-paircexp} | sort -nr 6516727 211192 2608 6730527 66b31f lib/libQt5Widgets.so.5.4.0-baseline 6516711 211192 2608 6730511 66b30f lib/libQt5Widgets.so.5.4.0-paircexp 5373720 44492 15976 5434188 52eb4c lib/libQt5Core.so.5.4.0-baseline 5373504 44492 15976 5433972 52ea74 lib/libQt5Core.so.5.4.0-paircexp 5107206 125072 6080 5238358 4fee56 lib/libQt5Gui.so.5.4.0-baseline 5107030 125072 6080 5238182 4feda6 lib/libQt5Gui.so.5.4.0-paircexp 1341290 30180 2600 1374070 14f776 lib/libQt5Network.so.5.4.0-baseline 1341210 30180 2600 1373990 14f726 lib/libQt5Network.so.5.4.0-paircexp # no other libraries benefit [ChangeLog][QtCore][QPair] Can now be used in C++11 constexpr contexts. Change-Id: I3872e6aa33a7d02a168516f4dfa7119efcac8c40 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com> |
||
---|---|---|
.. | ||
android | ||
bic/data | ||
cmake | ||
compilerwarnings/data | ||
concurrent | ||
corelib | ||
dbus | ||
gui | ||
guiapplauncher | ||
installed_cmake | ||
network | ||
opengl | ||
other | ||
printsupport | ||
shared | ||
sql | ||
testlib | ||
tools | ||
widgets | ||
xml | ||
auto.pro | ||
network-settings.h | ||
qtest-config.h | ||
test.pl |