a7b9a1f966
Required for implementing upcoming QStringView's member functions such as compare(), indexOf(), endsWith(), ... Most implementations of the function body just add the length to the begin pointer to obtain an end pointer and then either no longer use the length, or decrease it in lock-step with increasing the begin pointer. The only exception is MIPS DSP's qt_ucstrncmp_mips_dsp_asm(), which gets the length passed in as an uint, implicitly converted from the int parameter, proving that calling the function with negative length was always undefined behavior, and therefore using an unsigned type does not introduce incompatibilites. I don't stand a snowball's chance in hell to fix the assembler routine, but since the code is only included for MIPS32, we don't need to do anything except be paranoid, add a static_assert that uint is the same size as size_t, and keep calling the old code. Dropped Q_COMPILER_LAMBDA in some places. We require lambdas since 5.7. Also hold lambdas by value, not by reference. This stuff is supposedly completely inlined, anyway, so there's no reason to make the code more complicated with magic lifetime extension of temporaries bound to references. Change-Id: I0c7bdc47648b873992b51b2e9d47d808390320ea Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> |
||
---|---|---|
bin | ||
config.tests | ||
dist | ||
doc | ||
examples | ||
lib | ||
mkspecs | ||
qmake | ||
src | ||
tests | ||
util | ||
.gitattributes | ||
.gitignore | ||
.qmake.conf | ||
.tag | ||
config_help.txt | ||
configure | ||
configure.bat | ||
configure.json | ||
configure.pri | ||
header.BSD | ||
header.BSD-OLD | ||
header.COMM | ||
header.FDL | ||
header.FDL-OLD | ||
header.GPL | ||
header.GPL-EXCEPT | ||
header.LGPL | ||
header.LGPL3 | ||
header.LGPL3-COMM | ||
header.LGPL21 | ||
header.LGPL-NOGPL2 | ||
header.LGPL-ONLY | ||
INSTALL | ||
LGPL_EXCEPTION.txt | ||
LICENSE.FDL | ||
LICENSE.GPL2 | ||
LICENSE.GPL3 | ||
LICENSE.GPL3-EXCEPT | ||
LICENSE.GPLv3 | ||
LICENSE.LGPL3 | ||
LICENSE.LGPLv3 | ||
LICENSE.LGPLv21 | ||
LICENSE.PREVIEW.COMMERCIAL | ||
qtbase.pro | ||
sync.profile |