summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikolai Kosjar <nikolai.kosjar@digia.com>2012-12-04 11:07:08 +0100
committerNikolai Kosjar <nikolai.kosjar@digia.com>2012-12-06 10:56:10 +0100
commita281dfd4b1d9117b3270719d45dd5de5e9cd18f3 (patch)
treeaf74e35aa5a60461c013a6d9bfe387f07a76a3b9
parent70f6b107b6712ddd4c9391343fc86888dabd2cf4 (diff)
downloadqt-creator-a281dfd4b1d9117b3270719d45dd5de5e9cd18f3.tar.gz
C++: Tools: Compile with QT_NO_CAST_FROM_ASCII
Change-Id: I9de2c7fe51fea7844813cecb7c68f9a85a8e1e62 Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
-rw-r--r--src/libs/utils/environment.cpp4
-rw-r--r--src/tools/cplusplus-mkvisitor/cplusplus-mkvisitor.cpp33
-rw-r--r--src/tools/cplusplus-mkvisitor/cplusplus-mkvisitor.pro1
-rw-r--r--src/tools/cplusplus-tools-utils/cplusplus-tools-utils.cpp22
-rw-r--r--src/tools/cplusplus-tools-utils/cplusplus-tools-utils.pri1
-rw-r--r--src/tools/cplusplus-update-frontend/cplusplus-update-frontend.cpp32
-rw-r--r--src/tools/cplusplus-update-frontend/cplusplus-update-frontend.pro1
-rw-r--r--tests/tools/cplusplus-ast2png/cplusplus-ast2png.cpp15
-rw-r--r--tests/tools/cplusplus-ast2png/cplusplus-ast2png.pro1
9 files changed, 64 insertions, 46 deletions
diff --git a/src/libs/utils/environment.cpp b/src/libs/utils/environment.cpp
index 7a5849823b..47b747cb05 100644
--- a/src/libs/utils/environment.cpp
+++ b/src/libs/utils/environment.cpp
@@ -45,9 +45,9 @@ public:
if (Utils::HostOsInfo::isLinuxHost()) {
QString ldLibraryPath = value(QLatin1String("LD_LIBRARY_PATH"));
QDir lib(QCoreApplication::applicationDirPath());
- lib.cd("../lib");
+ lib.cd(QLatin1String("../lib"));
QString toReplace = lib.path();
- lib.cd("qtcreator");
+ lib.cd(QLatin1String("qtcreator"));
toReplace.append(QLatin1String(":"));
toReplace.append(lib.path());
diff --git a/src/tools/cplusplus-mkvisitor/cplusplus-mkvisitor.cpp b/src/tools/cplusplus-mkvisitor/cplusplus-mkvisitor.cpp
index ae21f90d94..0fc2846621 100644
--- a/src/tools/cplusplus-mkvisitor/cplusplus-mkvisitor.cpp
+++ b/src/tools/cplusplus-mkvisitor/cplusplus-mkvisitor.cpp
@@ -86,7 +86,7 @@ class MkVisitor: protected SymbolVisitor
if (interfaces.contains(b) || isMiscNode(b)) {
QString className = oo(b->symbols().first()->name());
- if (className.endsWith("AST")) {
+ if (className.endsWith(QLatin1String("AST"))) {
className.chop(3);
QString funcName = className;
@@ -141,13 +141,13 @@ public:
Q_ASSERT(klass != 0);
QString className = oo(klass->name());
- if (className == "AST")
+ if (className == QLatin1String("AST"))
continue;
QString baseClassName = className;
baseClassName.chop(3);
- QString retTy = false;
+ QString retTy;
QString funcName = getAcceptFunctionName(b, &retTy);
std::cout
@@ -222,13 +222,13 @@ public:
Q_ASSERT(klass != 0);
QString className = oo(klass->name());
- if (className == "AST")
+ if (className == QLatin1String("AST"))
continue;
QString baseClassName = className;
baseClassName.chop(3);
- QString current = "_current";
+ QString current = QLatin1String("_current");
current += baseClassName;
std::cout << " " << qPrintable(baseClassName) << "Ty " << qPrintable(current) << ";" << std::endl;
@@ -255,7 +255,7 @@ public:
Q_ASSERT(klass != 0);
QString className = oo(klass->name());
- if (className == "AST")
+ if (className == QLatin1String("AST"))
continue;
QString baseClassName = className;
@@ -264,7 +264,7 @@ public:
QString retTy;
QString funcName = getAcceptFunctionName(b, &retTy);
- QString current = "_current";
+ QString current = QLatin1String("_current");
current += baseClassName;
std::cout << "Semantic::" << qPrintable(baseClassName) << "Ty Semantic::"
@@ -322,10 +322,10 @@ public:
if (PointerType *ptrTy = decl->type()->asPointerType()) {
if (NamedType *namedTy = ptrTy->elementType()->asNamedType()) {
const QString eltTyName = oo(namedTy->name());
- if (eltTyName.endsWith("ListAST")) {
+ if (eltTyName.endsWith(QLatin1String("ListAST"))) {
QString name = eltTyName;
name.chop(7);
- name += "AST";
+ name += QLatin1String("AST");
Control *control = context.thisDocument()->control();
const Name *n = control->identifier(name.toLatin1().constData());
@@ -352,7 +352,7 @@ public:
if (ClassOrNamespace *ty = context.lookupType(namedTy->name(), klass)) {
QString className = oo(ty->symbols().first()->name());
QString baseClassName = className;
- if (baseClassName.endsWith("AST")) {
+ if (baseClassName.endsWith(QLatin1String("AST"))) {
baseClassName.chop(3);
QString retTy;
@@ -394,7 +394,7 @@ protected:
virtual bool visit(Class *klass) {
const QString className = oo(klass->name());
- if (! className.endsWith("AST"))
+ if (! className.endsWith(QLatin1String("AST")))
return false;
ClassOrNamespace *b = context.lookupType(klass);
@@ -429,7 +429,7 @@ void printUsage()
std::cout << "Usage: " << qPrintable(QFileInfo(qApp->arguments().at(0)).fileName())
<< " [-v] [path to AST.h]\n\n"
<< "Print a visitor class based on AST.h to stdout.\n\n";
- const QString defaulPath = QFileInfo(PATH_AST_H).canonicalFilePath();
+ const QString defaulPath = QFileInfo(QLatin1String(PATH_AST_H)).canonicalFilePath();
std::cout << "Default path: " << qPrintable(defaulPath) << '.' << "\n";
}
@@ -442,18 +442,19 @@ int main(int argc, char *argv[])
bool optionVerbose = false;
// Process options & arguments
- if (args.contains("-v")) {
+ if (args.contains(QLatin1String("-v"))) {
optionVerbose = true;
- args.removeOne("-v");
+ args.removeOne(QLatin1String("-v"));
}
- const bool helpRequested = args.contains("-h") || args.contains("-help");
+ const bool helpRequested = args.contains(QLatin1String("-h"))
+ || args.contains(QLatin1String("-help"));
if (helpRequested || args.count() >= 2) {
printUsage();
return helpRequested ? EXIT_SUCCESS : EXIT_FAILURE;
}
// Run the preprocessor
- QString fileName = PATH_AST_H;
+ QString fileName = QLatin1String(PATH_AST_H);
if (!args.isEmpty())
fileName = args.first();
diff --git a/src/tools/cplusplus-mkvisitor/cplusplus-mkvisitor.pro b/src/tools/cplusplus-mkvisitor/cplusplus-mkvisitor.pro
index aa942fc5fa..ce0a4bc7aa 100644
--- a/src/tools/cplusplus-mkvisitor/cplusplus-mkvisitor.pro
+++ b/src/tools/cplusplus-mkvisitor/cplusplus-mkvisitor.pro
@@ -9,5 +9,6 @@ include(../../../qtcreator.pri)
include(../../libs/cplusplus/cplusplus-lib.pri)
include(../../../src/tools/cplusplus-tools-utils/cplusplus-tools-utils.pri)
+DEFINES *= QT_NO_CAST_FROM_ASCII
DEFINES += PATH_AST_H=\\\"$$PWD/../../libs/3rdparty/cplusplus/AST.h\\\"
SOURCES += cplusplus-mkvisitor.cpp
diff --git a/src/tools/cplusplus-tools-utils/cplusplus-tools-utils.cpp b/src/tools/cplusplus-tools-utils/cplusplus-tools-utils.cpp
index 5ad4ce0906..39a3dc84ae 100644
--- a/src/tools/cplusplus-tools-utils/cplusplus-tools-utils.cpp
+++ b/src/tools/cplusplus-tools-utils/cplusplus-tools-utils.cpp
@@ -65,7 +65,7 @@ void executeCommand(const QString &command, const QStringList &arguments, const
process.setStandardOutputFile(outputFile, QIODevice::Truncate);
process.start(command, arguments);
if (!process.waitForStarted()) {
- out << QString("Error: Process \"%1\" did not start within timeout: %2.")
+ out << QString::fromLatin1("Error: Process \"%1\" did not start within timeout: %2.")
.arg(fullCommand, process.errorString())
<< endl;
exit(EXIT_FAILURE);
@@ -73,14 +73,15 @@ void executeCommand(const QString &command, const QStringList &arguments, const
if (!process.waitForFinished()) {
if (!verbose)
out << process.readAll() << endl;
- out << QString("Error: Process \"%1\" did not finish within timeout.").arg(fullCommand)
+ out << QString::fromLatin1("Error: Process \"%1\" did not finish within timeout.")
+ .arg(fullCommand)
<< endl;
exit(EXIT_FAILURE);
}
const int exitCode = process.exitCode();
if (exitCode != 0) {
out << process.readAllStandardError() << endl;
- out << QString("Error: Process \"%1\" finished with non zero exit value %2")
+ out << QString::fromLatin1("Error: Process \"%1\" finished with non zero exit value %2")
.arg(fullCommand, exitCode) << endl;
exit(EXIT_FAILURE);
}
@@ -89,9 +90,9 @@ void executeCommand(const QString &command, const QStringList &arguments, const
SystemPreprocessor::SystemPreprocessor(bool verbose)
: m_verbose(verbose)
{
- m_knownCompilers[portableExecutableName("gcc")]
+ m_knownCompilers[portableExecutableName(QLatin1String("gcc"))]
= QLatin1String("-DCPLUSPLUS_WITHOUT_QT -U__BLOCKS__ -xc++ -E -include");
- m_knownCompilers[portableExecutableName("cl")]
+ m_knownCompilers[portableExecutableName(QLatin1String("cl"))]
= QLatin1String("/DCPLUSPLUS_WITHOUT_QT /U__BLOCKS__ /TP /E /I . /FI");
QMapIterator<QString, QString> i(m_knownCompilers);
@@ -112,14 +113,17 @@ SystemPreprocessor::SystemPreprocessor(bool verbose)
void SystemPreprocessor::check() const
{
QTextStream out(stderr);
- if (!QFile::exists(PATH_PREPROCESSOR_CONFIG)) {
- out << QString("Error: File \"%1\" does not exist.").arg(PATH_PREPROCESSOR_CONFIG) << endl;
+ if (!QFile::exists(QLatin1String(PATH_PREPROCESSOR_CONFIG))) {
+ out << QString::fromLatin1("Error: File \"%1\" does not exist.")
+ .arg(QLatin1String(PATH_PREPROCESSOR_CONFIG))
+ << endl;
exit(EXIT_FAILURE);
}
if (m_compiler.isEmpty()) {
const QString triedCompilers
= QStringList(m_knownCompilers.keys()).join(QLatin1String(", "));
- out << QString("Error: No compiler found. Tried %1.").arg(triedCompilers) << endl;
+ out << QString::fromLatin1("Error: No compiler found. Tried %1.").arg(triedCompilers)
+ << endl;
exit(EXIT_FAILURE);
}
}
@@ -129,7 +133,7 @@ void SystemPreprocessor::preprocessFile(const QString &inputFile, const QString
check();
if (!QFile::exists(inputFile)) {
QTextStream out(stderr);
- out << QString("Error: File \"%1\" does not exist.").arg(inputFile) << endl;
+ out << QString::fromLatin1("Error: File \"%1\" does not exist.").arg(inputFile) << endl;
exit(EXIT_FAILURE);
}
const QStringList arguments = QStringList(m_compilerArguments)
diff --git a/src/tools/cplusplus-tools-utils/cplusplus-tools-utils.pri b/src/tools/cplusplus-tools-utils/cplusplus-tools-utils.pri
index 99002ad0d0..c84010be2c 100644
--- a/src/tools/cplusplus-tools-utils/cplusplus-tools-utils.pri
+++ b/src/tools/cplusplus-tools-utils/cplusplus-tools-utils.pri
@@ -1,6 +1,7 @@
DEPENDPATH += $$PWD
INCLUDEPATH += $$PWD $$PWD/../../libs/utils
+DEFINES *= QT_NO_CAST_FROM_ASCII
DEFINES += PATH_PREPROCESSOR_CONFIG=\\\"$$PWD/pp-configuration.inc\\\"
DEFINES += QTCREATOR_UTILS_STATIC_LIB
diff --git a/src/tools/cplusplus-update-frontend/cplusplus-update-frontend.cpp b/src/tools/cplusplus-update-frontend/cplusplus-update-frontend.cpp
index 6d8a61dc7f..6bc5b2162f 100644
--- a/src/tools/cplusplus-update-frontend/cplusplus-update-frontend.cpp
+++ b/src/tools/cplusplus-update-frontend/cplusplus-update-frontend.cpp
@@ -169,7 +169,7 @@ protected:
const QString className = oo(klass->name());
- if (className.endsWith("AST")) {
+ if (className.endsWith(QLatin1String("AST"))) {
if (className == QLatin1String("AST"))
_nodes.base = ast;
else {
@@ -1414,11 +1414,16 @@ QStringList generateAST_H(const Snapshot &snapshot, const QDir &cplusplusDir, co
cursors[classAST] = removeCastMethods(classAST);
const QString className = oo(classAST->symbol->name());
const QString methodName = QLatin1String("as") + className.mid(0, className.length() - 3);
- replacementCastMethods[classAST] = QString(" virtual %1 *%2() { return this; }\n").arg(className, methodName);
- castMethods.append(QString(" virtual %1 *%2() { return 0; }\n").arg(className, methodName));
+ replacementCastMethods[classAST]
+ = QString::fromLatin1(" virtual %1 *%2() { return this; }\n")
+ .arg(className, methodName);
+ castMethods.append(
+ QString::fromLatin1(" virtual %1 *%2() { return 0; }\n")
+ .arg(className, methodName));
astDerivedClasses.append(className);
- constructors[classAST] = removeConstructors(classAST, AST_h_document->translationUnit(), &document);
+ constructors[classAST] = removeConstructors(classAST, AST_h_document->translationUnit(),
+ &document);
replacementConstructors[classAST] = createConstructor(classAST);
}
@@ -1612,7 +1617,7 @@ void generateASTPatternBuilder_h(const QDir &cplusplusDir)
const QString className = oo(klass->name());
- if (! className.endsWith("AST"))
+ if (! className.endsWith(QLatin1String("AST")))
continue;
const QString methodName = className.left(className.length() - 3);
@@ -1633,9 +1638,9 @@ void generateASTPatternBuilder_h(const QDir &cplusplusDir)
continue;
const QString tyName = oo(ptrTy->elementType());
- if (tyName.endsWith("ListAST"))
+ if (tyName.endsWith(QLatin1String("ListAST")))
listClasses.insert(tyName);
- if (tyName.endsWith("AST")) {
+ if (tyName.endsWith(QLatin1String("AST"))) {
if (! first)
out << ", ";
@@ -1699,8 +1704,10 @@ void printUsage()
<< "to AST.h and print the paths of the written files. Run this tool after\n"
<< "modifying AST.h."
<< "\n\n";
- const QString defaultPathCppFrontend = QFileInfo(PATH_CPP_FRONTEND).canonicalFilePath();
- const QString defaultPathDumpersFile = QFileInfo(PATH_DUMPERS_FILE).canonicalFilePath();
+ const QString defaultPathCppFrontend
+ = QFileInfo(QLatin1String(PATH_CPP_FRONTEND)).canonicalFilePath();
+ const QString defaultPathDumpersFile
+ = QFileInfo(QLatin1String(PATH_DUMPERS_FILE)).canonicalFilePath();
std::cout << "Default values:" << "\n"
<< " frontend-dir: " << qPrintable(defaultPathCppFrontend) << "\n"
<< " dumpers-file: " << qPrintable(defaultPathDumpersFile) << "\n";
@@ -1712,10 +1719,11 @@ int main(int argc, char *argv[])
QStringList args = app.arguments();
args.removeFirst();
- QString pathCppFrontend = PATH_CPP_FRONTEND;
- QString pathDumpersFile = PATH_DUMPERS_FILE;
+ QString pathCppFrontend = QLatin1String(PATH_CPP_FRONTEND);
+ QString pathDumpersFile = QLatin1String(PATH_DUMPERS_FILE);
- const bool helpRequested = args.contains("-h") || args.contains("-help");
+ const bool helpRequested = args.contains(QLatin1String("-h"))
+ || args.contains(QLatin1String("-help"));
if (args.count() == 1 || args.count() >= 3 || helpRequested) {
printUsage();
return helpRequested ? EXIT_SUCCESS : EXIT_FAILURE;
diff --git a/src/tools/cplusplus-update-frontend/cplusplus-update-frontend.pro b/src/tools/cplusplus-update-frontend/cplusplus-update-frontend.pro
index 7b0e853cd4..73bbfd0cc8 100644
--- a/src/tools/cplusplus-update-frontend/cplusplus-update-frontend.pro
+++ b/src/tools/cplusplus-update-frontend/cplusplus-update-frontend.pro
@@ -10,6 +10,7 @@ INCLUDEPATH += . ../../libs
include(../../../qtcreator.pri)
include(../../libs/cplusplus/cplusplus-lib.pri)
+DEFINES *= QT_NO_CAST_FROM_ASCII
DEFINES += PATH_CPP_FRONTEND=\\\"$$PWD/../../libs/3rdparty/cplusplus\\\"
DEFINES += PATH_DUMPERS_FILE=\\\"$$PWD/../../../tests/tools/cplusplus-ast2png/dumpers.inc\\\"
SOURCES += cplusplus-update-frontend.cpp ../../libs/utils/changeset.cpp
diff --git a/tests/tools/cplusplus-ast2png/cplusplus-ast2png.cpp b/tests/tools/cplusplus-ast2png/cplusplus-ast2png.cpp
index 10a4e15ec7..51d7c37986 100644
--- a/tests/tools/cplusplus-ast2png/cplusplus-ast2png.cpp
+++ b/tests/tools/cplusplus-ast2png/cplusplus-ast2png.cpp
@@ -383,7 +383,7 @@ QString example()
#else
QString::fromLatin1("$ echo \"int foo() {}\" | ./%1 && xdg-open %2.ast.png")
#endif
- .arg(QFileInfo(qApp->arguments().at(0)).fileName(), PATH_STDIN_FILE);
+ .arg(QFileInfo(qApp->arguments().at(0)).fileName(), QLatin1String(PATH_STDIN_FILE));
}
void printUsage()
@@ -391,7 +391,7 @@ void printUsage()
std::cout << "Usage: " << qPrintable(QFileInfo(qApp->arguments().at(0)).fileName())
<< " [-v] <file1> <file2> ...\n\n";
- std::cout << qPrintable(QString::fromLatin1(
+ std::cout << QString::fromLatin1(
"Visualize AST and symbol hierarchy of given C++ files by generating png image files\n"
"in the same directory as the input files. Print paths to generated image files.\n"
"\n"
@@ -404,7 +404,7 @@ void printUsage()
"Prerequisites:\n"
" 1) Make sure to have 'dot' from graphviz locatable by PATH.\n"
" 2) Make sure to have an up to date dumpers file by using 'cplusplus-update-frontend'.\n"
- ).arg(PATH_STDIN_FILE, example()));
+ ).arg(QLatin1String(PATH_STDIN_FILE), example()).toLocal8Bit().constData();
}
int main(int argc, char *argv[])
@@ -417,7 +417,7 @@ int main(int argc, char *argv[])
// Data from stdin?
if (!tty_for_stdin()) {
- QFile file("_stdincontents.cpp");
+ QFile file((QLatin1String(PATH_STDIN_FILE)));
if (! file.open(QFile::WriteOnly)) {
std::cerr << "Error: Cannot open file for writing\"" << qPrintable(file.fileName())
<< "\"" << std::endl;
@@ -429,11 +429,12 @@ int main(int argc, char *argv[])
}
// Process options & arguments
- if (args.contains("-v")) {
+ if (args.contains(QLatin1String("-v"))) {
optionVerbose = true;
- args.removeOne("-v");
+ args.removeOne(QLatin1String("-v"));
}
- const bool helpRequested = args.contains("-h") || args.contains("-help");
+ const bool helpRequested = args.contains(QLatin1String("-h"))
+ || args.contains(QLatin1String("-help"));
if (args.isEmpty() || helpRequested) {
printUsage();
return helpRequested ? EXIT_SUCCESS : EXIT_FAILURE;
diff --git a/tests/tools/cplusplus-ast2png/cplusplus-ast2png.pro b/tests/tools/cplusplus-ast2png/cplusplus-ast2png.pro
index 8a0fd726ad..c02c4dba9f 100644
--- a/tests/tools/cplusplus-ast2png/cplusplus-ast2png.pro
+++ b/tests/tools/cplusplus-ast2png/cplusplus-ast2png.pro
@@ -9,4 +9,5 @@ include(../../../qtcreator.pri)
include(../../../src/libs/cplusplus/cplusplus-lib.pri)
include(../../../src/tools/cplusplus-tools-utils/cplusplus-tools-utils.pri)
+DEFINES *= QT_NO_CAST_FROM_ASCII
SOURCES += cplusplus-ast2png.cpp