diff --git a/qtcreator.pri b/qtcreator.pri
index b78da8fa127d897a3fbe2afdcf98ede538e6334a..6a59fe91f199b1ab1a7d90d6cb4f4db757fefd73 100644
--- a/qtcreator.pri
+++ b/qtcreator.pri
@@ -88,10 +88,9 @@ DEPENDPATH += \
 
 LIBS += -L$$IDE_LIBRARY_PATH
 
-# DEFINES += QT_NO_CAST_FROM_ASCII
+#DEFINES += QT_NO_CAST_FROM_ASCII
 DEFINES += QT_NO_CAST_TO_ASCII
-#DEFINES += QT_USE_FAST_OPERATOR_PLUS
-#DEFINES += QT_USE_FAST_CONCATENATION
+#DEFINES += QT_USE_FAST_OPERATOR_PLUS QT_USE_FAST_CONCATENATION
 
 unix {
     CONFIG(debug, debug|release):OBJECTS_DIR = $${OUT_PWD}/.obj/debug-shared
diff --git a/src/plugins/debugger/registerhandler.cpp b/src/plugins/debugger/registerhandler.cpp
index 9b6cb4e015b59fbfd70c62905a42a0714a92b1ff..b74af0fc26529a6f549c056b2023de746b1ec606 100644
--- a/src/plugins/debugger/registerhandler.cpp
+++ b/src/plugins/debugger/registerhandler.cpp
@@ -79,18 +79,18 @@ QVariant RegisterHandler::data(const QModelIndex &index, int role) const
         // Return some address associated with the register.
         bool ok = true;
         qulonglong value = reg.value.toULongLong(&ok, 0);
-        return ok ? QString::fromLatin1("0x") + QString::number(value, 16) : QVariant();
+        return ok ? QVariant(QString::fromLatin1("0x") + QString::number(value, 16)) : QVariant();
     }
 
     const QString padding = "  ";
     if (role == Qt::DisplayRole) {
         switch (index.column()) {
-            case 0: return padding + reg.name + padding;
+            case 0: return QVariant(padding + reg.name + padding);
             case 1: {
                 bool ok = true;
                 qulonglong value = reg.value.toULongLong(&ok, 0);
                 QString res = ok ? QString::number(value, m_base) : reg.value;
-                return QString(m_strlen - res.size(), QLatin1Char(' ')) + res;
+                return QVariant(QString(m_strlen - res.size(), QLatin1Char(' ')) + res);
             }
         }
     }
diff --git a/src/plugins/debugger/watchhandler.cpp b/src/plugins/debugger/watchhandler.cpp
index 83d4fd4813704188500a77a038ce476cf5c9a13e..35a9545c7b8555f808ed395765379519e91cec6b 100644
--- a/src/plugins/debugger/watchhandler.cpp
+++ b/src/plugins/debugger/watchhandler.cpp
@@ -804,7 +804,7 @@ QVariant WatchModel::data(const QModelIndex &idx, int role) const
             switch (idx.column()) {
                 case 0:
                     if (data.name == QLatin1String("*") && item->parent)
-                        return QLatin1Char('*') + item->parent->name;
+                        return QVariant(QLatin1Char('*') + item->parent->name);
                     return data.name;
                 case 1: {
                     int format = m_handler->m_individualFormats.value(data.iname, -1);
diff --git a/src/plugins/help/helpplugin.cpp b/src/plugins/help/helpplugin.cpp
index bba6b55ffd0befb17af03c3b0abe1759627ca248..38c631ba484cc1a20d396c3b1b03a546f86f0100 100644
--- a/src/plugins/help/helpplugin.cpp
+++ b/src/plugins/help/helpplugin.cpp
@@ -139,7 +139,7 @@ bool HelpPlugin::initialize(const QStringList &arguments, QString *error)
 
     // FIXME shouldn't the help engine create the directory if it doesn't exist?
     const QFileInfo &fi(m_core->settings()->fileName());
-    const QDir &directory(fi.absolutePath()+"/qtcreator");
+    const QDir directory(fi.absolutePath() + QLatin1String("/qtcreator"));
     if (!directory.exists())
         directory.mkpath(directory.absolutePath());
     m_helpEngine = new QHelpEngine(directory.absolutePath() +
@@ -976,8 +976,8 @@ void HelpPlugin::openHelpPage(const QString& url)
         } else {
             urlPrefix = QLatin1String("http://doc.trolltech.com/latest/");
         }
-        QDesktopServices::openUrl(urlPrefix + url.mid(url
-            .lastIndexOf(QLatin1Char('/')) + 1));
+        QDesktopServices::openUrl(QUrl(urlPrefix + url.mid(url
+            .lastIndexOf(QLatin1Char('/')) + 1)));
     }
 }
 
diff --git a/src/plugins/projectexplorer/toolchain.cpp b/src/plugins/projectexplorer/toolchain.cpp
index 4f964e646560cb1187eca37bf6d5a2f12fd2820c..d6966754fbd70e0178e2e7de9a30633370c96a87 100644
--- a/src/plugins/projectexplorer/toolchain.cpp
+++ b/src/plugins/projectexplorer/toolchain.cpp
@@ -438,7 +438,8 @@ void MSVCToolChain::addToEnvironment(ProjectExplorer::Environment &env)
                 return;
             QString filename = tf.fileName();
             tf.write("call \"" + varsbat.toLocal8Bit()+"\"\r\n");
-            tf.write(("set > \"" + QDir::tempPath() + "\\qtcreator-msvc-environment.txt\"\r\n").toLocal8Bit());
+            QString redirect = "set > \"" + QDir::tempPath() + "\\qtcreator-msvc-environment.txt\"\r\n";
+            tf.write(redirect.toLocal8Bit());
             tf.flush();
             tf.waitForBytesWritten(30000);
 
diff --git a/src/plugins/qt4projectmanager/customwidgetwizard/plugingenerator.cpp b/src/plugins/qt4projectmanager/customwidgetwizard/plugingenerator.cpp
index 5e22af5ae51d046506638eaf620c1b1e85287435..5c6abb3ccdfffd1b3909b62be776eaa9d526d22c 100644
--- a/src/plugins/qt4projectmanager/customwidgetwizard/plugingenerator.cpp
+++ b/src/plugins/qt4projectmanager/customwidgetwizard/plugingenerator.cpp
@@ -127,7 +127,7 @@ QList<Core::GeneratedFile>  PluginGenerator::generatePlugin(const GenerationPara
                     QLatin1String(", ") +
                     wo.pluginClassName +
                     QLatin1Char(')') :
-                QLatin1String(""));
+                QString());
         const QString pluginSourceContents = processTemplate(p.templatePath + QLatin1String("/tpl_single.cpp"), sm, errorMessage);
         if (pluginSourceContents.isEmpty())
             return QList<Core::GeneratedFile>();
diff --git a/src/shared/help/bookmarkmanager.cpp b/src/shared/help/bookmarkmanager.cpp
index e804ffbb2cecd20c9158917e6504ea088e6c2608..3d56b01278494caab9833c46adf9dd64944913fc 100644
--- a/src/shared/help/bookmarkmanager.cpp
+++ b/src/shared/help/bookmarkmanager.cpp
@@ -800,8 +800,9 @@ QString BookmarkManager::uniqueFolderName() const
         foreach (const QStandardItem *item, list)
             names << item->text();
 
+        QString folderNameBase = tr("New Folder") + QLatin1String(" %1");
         for (int i = 1; i <= names.count(); ++i) {
-            folderName = (tr("New Folder") + QLatin1String(" %1")).arg(i);
+            folderName = folderNameBase.arg(i);
             if (!names.contains(folderName))
                 break;
         }
diff --git a/src/shared/proparser/profileevaluator.cpp b/src/shared/proparser/profileevaluator.cpp
index aa28fd11e64131ae4732a2398de1e1a4fe263c52..335dd1bd4dc57bf436e92826d6149fcc33a09ed9 100644
--- a/src/shared/proparser/profileevaluator.cpp
+++ b/src/shared/proparser/profileevaluator.cpp
@@ -2876,7 +2876,7 @@ bool ProFileEvaluator::Private::evaluateFeatureFile(
         QString currFn = currentFileName();
         if (IoUtils::fileName(currFn) == IoUtils::fileName(fn)) {
             for (int root = 0; root < m_option->feature_roots.size(); ++root)
-                if (m_option->feature_roots.at(root) + fn == currFn) {
+                if (currFn == m_option->feature_roots.at(root) + fn) {
                     start_root = root + 1;
                     break;
                 }
diff --git a/tests/manual/proparser/testreader.pro b/tests/manual/proparser/testreader.pro
index 83893560e81e82de45f174e7ba9359b36e0e5ba2..2702b3840c5e7a76edcd4c833fdcee70cad2199b 100644
--- a/tests/manual/proparser/testreader.pro
+++ b/tests/manual/proparser/testreader.pro
@@ -18,3 +18,4 @@ SOURCES = main.cpp profileevaluator.cpp proitems.cpp ioutils.cpp
 HEADERS = profileevaluator.h proitems.h ioutils.h
 
 DEFINES += QT_NO_CAST_TO_ASCII QT_NO_CAST_FROM_ASCII
+DEFINES += QT_USE_FAST_OPERATOR_PLUS QT_USE_FAST_CONCATENATION