aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorOlivier De Cannière <olivier.decanniere@qt.io>2026-05-12 11:12:36 +0200
committerOlivier De Cannière <olivier.decanniere@qt.io>2026-05-30 02:20:30 +0000
commitd0fa7140e7f87068fbd655a3020580c5a9ef9936 (patch)
tree1dd07b3061d1320f7a02a610e2c5de2b9f65fb80 /tools
parent7abca8275e215eb65cb9066785f3fed1cbbdee16 (diff)
Compiler: Allow skipping aot validation code generation and add docs
Task-number: QTBUG-142186 Change-Id: Ibb777a688cbfa8f8344c8aefed101285c7e0087f Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
Diffstat (limited to 'tools')
-rw-r--r--tools/qmlcachegen/qmlcachegen.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/tools/qmlcachegen/qmlcachegen.cpp b/tools/qmlcachegen/qmlcachegen.cpp
index 9a9d097cb5..096b8abb73 100644
--- a/tools/qmlcachegen/qmlcachegen.cpp
+++ b/tools/qmlcachegen/qmlcachegen.cpp
@@ -106,6 +106,9 @@ int main(int argc, char **argv)
QCommandLineOption moduleIdOption("module-id"_L1, QCoreApplication::translate("main", "Identifies the module of the qml file being compiled for aot stats"), QCoreApplication::translate("main", "id"));
parser.addOption(moduleIdOption);
+ QCommandLineOption noAotValidationOption("no-aot-validation"_L1, QCoreApplication::translate("main", "Skips generation of validation code for ahead-of-time generated code"));
+ parser.addOption(noAotValidationOption);
+
QCommandLineOption outputFileOption("o"_L1, QCoreApplication::translate("main", "Output file name"), QCoreApplication::translate("main", "file name"));
parser.addOption(outputFileOption);
@@ -229,12 +232,13 @@ int main(int argc, char **argv)
if (target == GenerateCpp) {
inputFileUrl = "qrc://"_L1 + inputResourcePath;
- saveFunction = [inputResourcePath, outputFileName](
+ bool noAotValidation = parser.isSet(noAotValidationOption);
+ saveFunction = [inputResourcePath, outputFileName, noAotValidation](
const QV4::CompiledData::SaveableUnitPointer &unit,
const QQmlJSAotFunctionMap &aotFunctions,
const LookupSignatures &lookupSignatures, QString *errorString) {
return qSaveQmlJSUnitAsCpp(inputResourcePath, outputFileName, unit, aotFunctions,
- lookupSignatures, errorString);
+ lookupSignatures, noAotValidation, errorString);
};
} else {
@@ -302,6 +306,8 @@ int main(int argc, char **argv)
if (parser.isSet(validateBasicBlocksOption))
cppCodeGen.m_flags.setFlag(QQmlJSAotCompiler::ValidateBasicBlocks);
+ if (parser.isSet(noAotValidationOption))
+ cppCodeGen.m_flags.setFlag(QQmlJSAotCompiler::NoAOTValidation);
if (!qCompileQmlFile(inputFile, saveFunction, &cppCodeGen, &error,
/* storeSourceLocation */ true)) {