qt6-bb10/tests/auto/tools/moc
Thiago Macieira dda9c9e2bc moc: fix use of escape sequence of more than one character
We had the code to calculate the length, but were improperly using it
only for the offset, not the length of the string or its containing
array. That resulted in the generated moc output containing:

 QT_MOC_LITERAL(111, 5), // "\xffz"
 QT_MOC_LITERAL(114, 5), // "\0012"
 QT_MOC_LITERAL(117, 23), // "slotWithAReallyLongName"

The two strings are described as occupying 5 bytes (length 4 + null
terminator), which is incorrect. The offset was correct: 114 - 111 = 3
and 117 - 114 = 3. The new output is:

        QT_MOC_LITERAL(111, 2),  // "\xffz"
        QT_MOC_LITERAL(114, 2),  // "\0012"
        QT_MOC_LITERAL(117, 23),  // "slotWithAReallyLongName"

The effect of the array size calculation would only be felt if moc
decided it needed a second string array (for strings over 65535 bytes),
which would cause the offsets in the second array to be all wrong. There
was no such test until now.

Drive-by fixing of the newline, indentation, and the stale comment
referring to QByteArrayData (Qt 5).

Pick-to: 6.2 6.3 6.4
Change-Id: Id0fb9ab0089845ee8843fffd16f9cd01b3e0709a
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2022-06-22 13:03:17 -07:00
..
Test.framework/Headers Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
subdir
task71021
testproject Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
.gitattributes
.gitignore
CMakeLists.txt Add VERBATIM option to add_custom_command calls 2022-03-17 15:15:06 +01:00
Header
allmocs_baseline_in.json moc: Add relative property index to JSON output of PropertyDef 2021-06-02 19:03:45 +02:00
assign-namespace.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
backslash-newlines.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
c-comments.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
cstyle-enums.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
cxx-attributes.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
cxx11-enums.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
cxx11-explicit-override-control.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
cxx11-final-classes.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
cxx11-trailing-return.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
cxx17-namespaces.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
dir-in-include-path.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
dollars.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
enum_inc.h moc: Handle include in enum, take 2 2020-11-03 19:36:34 +00:00
enum_with_include.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
error-on-wrong-notify.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
escapes-in-string-literals.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
extraqualification.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
forgotten-qinterface.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
forward-declared-param.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
forwarddeclaredparam.h
function-with-attributes.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
fwdclass1.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
fwdclass2.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
fwdclass3.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
gadgetwithnoenums.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
grand-parent-gadget-class.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
interface-from-framework.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
interface-from-include.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
macro-on-cmdline.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
moc_include.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
namespace.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
namespace_no_merge.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
namespaced-flags.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
no-keywords.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
non-gadget-parent-class.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
oldstyle-casts.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
os9-newlines.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
parse-boost.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
parse-defines.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
plugin_metadata.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
pointery_to_incomplete.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
pp-dollar-signs.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
pure-virtual-signals.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
qinvokable.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
qprivateslots.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
qtbug-35657-gadget.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
related-metaobjects-in-gadget.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
related-metaobjects-in-namespaces.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
related-metaobjects-name-conflict.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
single-quote-digit-separator-n3781.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
single_function_keyword.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
slots-with-void-template.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
task87883.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
task192552.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
task234909.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
task240368.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
template-gtgt.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
trigraphs.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
tst_moc.cpp moc: fix use of escape sequence of more than one character 2022-06-22 13:03:17 -07:00
unterminated-function-macro.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
using-namespaces.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
warn-on-multiple-qobject-subclasses.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
warn-on-property-without-read.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
win-newlines.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00