summaryrefslogtreecommitdiffstats
path: root/util/glgen/codegenerator.cpp
diff options
context:
space:
mode:
authorAnton Kudryavtsev <a.kudryavtsev@netris.ru>2016-01-19 11:49:37 +0300
committerAnton Kudryavtsev <a.kudryavtsev@netris.ru>2016-01-28 18:00:47 +0000
commit0f27d11285bbc22c4f440315ba3a9b7627fc449b (patch)
tree3e384b64c92b33cd6475bf7e91d659ac67f71463 /util/glgen/codegenerator.cpp
parent58f8dd4f92e0e647ed530554d7edf3d1a901f552 (diff)
Don't use QStringLiteral in comparisons
For QLatin1String, operator== is overloaded, so comparing to a latin-1 (C) string literal is efficient, since strlen() is comparatively fast. OTOH, QStringLiteral, when not using RVO, litters the code with QString dtor calls, which are not inline. Worse, absent lambdas, it even allocates memory. So, just compare using QLatin1String instead. Change-Id: I761b2b26ab5b416bc695f524a9ee607dacf0a7b2 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Diffstat (limited to 'util/glgen/codegenerator.cpp')
-rw-r--r--util/glgen/codegenerator.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/util/glgen/codegenerator.cpp b/util/glgen/codegenerator.cpp
index f590e42960..15db4d0a83 100644
--- a/util/glgen/codegenerator.cpp
+++ b/util/glgen/codegenerator.cpp
@@ -389,11 +389,11 @@ QString CodeGenerator::passByType(const Argument &arg) const
QString CodeGenerator::safeArgumentName(const QString& arg) const
{
- if (arg == QStringLiteral("near")) // MS Windows defines near and far
+ if (arg == QLatin1String("near")) // MS Windows defines near and far
return QStringLiteral("nearVal");
- else if (arg == QStringLiteral("far"))
+ else if (arg == QLatin1String("far"))
return QStringLiteral("farVal");
- else if (arg == QStringLiteral("d"))
+ else if (arg == QLatin1String("d"))
return QStringLiteral("dd"); // Don't shadow d pointer
else
return arg;
@@ -810,7 +810,7 @@ void CodeGenerator::writeInlineFunction(QTextStream &stream, const QString &clas
argumentNames.append(safeArgumentName(arg.name));
QString argNames = argumentNames.join(", ");
- if (f.returnType == QStringLiteral("void"))
+ if (f.returnType == QLatin1String("void"))
stream << QString(QStringLiteral(" %1->%2(%3);")).arg(backendVar).arg(f.name).arg(argNames) << endl;
else
stream << QString(QStringLiteral(" return %1->%2(%3);")).arg(backendVar).arg(f.name).arg(argNames) << endl;