diff options
author | Ivan Donchevskii <ivan.donchevskii@qt.io> | 2019-01-30 09:07:45 +0100 |
---|---|---|
committer | Ivan Donchevskii <ivan.donchevskii@qt.io> | 2019-02-07 07:45:24 +0000 |
commit | 7d64c9e3ec9988bc0f88cd847677174c3a974aad (patch) | |
tree | 0ccdfcbbecfe1d60967b06a681335f1d7a595a6b /src/tools/clangpchmanagerbackend | |
parent | f369556dca7da4e73f76f5ed15dbc95f3fc0a2ce (diff) | |
download | qt-creator-7d64c9e3ec9988bc0f88cd847677174c3a974aad.tar.gz |
Clang: Fix some issues with running indexer over Qt Creator
- fix qDebug channels on Windows
- fix the number of perameters in the sql statement
- fix nullptr access
- speed up preprocessor a little bit
Change-Id: Ic9b32fbcc6b409c4064c4f522b94391cbff8654e
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Diffstat (limited to 'src/tools/clangpchmanagerbackend')
-rw-r--r-- | src/tools/clangpchmanagerbackend/clangpchmanagerbackendmain.cpp | 13 | ||||
-rw-r--r-- | src/tools/clangpchmanagerbackend/source/collectbuilddependencyaction.h | 1 |
2 files changed, 14 insertions, 0 deletions
diff --git a/src/tools/clangpchmanagerbackend/clangpchmanagerbackendmain.cpp b/src/tools/clangpchmanagerbackend/clangpchmanagerbackendmain.cpp index 5c38a3d841..c4e8e085ce 100644 --- a/src/tools/clangpchmanagerbackend/clangpchmanagerbackendmain.cpp +++ b/src/tools/clangpchmanagerbackend/clangpchmanagerbackendmain.cpp @@ -55,6 +55,7 @@ #include <QTemporaryDir> #include <QTimer> #include <chrono> +#include <iostream> #include <thread> using namespace std::chrono_literals; @@ -214,8 +215,20 @@ struct Data // because we have a cycle dependency ClangBackEnd::CallDoInMainThreadAfterFinished::Yes}; }; +#ifdef Q_OS_WIN +static void messageOutput(QtMsgType type, const QMessageLogContext &, const QString &msg) +{ + std::wcout << msg.toStdWString() << std::endl; + if (type == QtFatalMsg) + abort(); +} +#endif + int main(int argc, char *argv[]) { +#ifdef Q_OS_WIN + qInstallMessageHandler(messageOutput); +#endif try { QCoreApplication::setOrganizationName(QStringLiteral("QtProject")); QCoreApplication::setOrganizationDomain(QStringLiteral("qt-project.org")); diff --git a/src/tools/clangpchmanagerbackend/source/collectbuilddependencyaction.h b/src/tools/clangpchmanagerbackend/source/collectbuilddependencyaction.h index ff861f174f..03d27f9b21 100644 --- a/src/tools/clangpchmanagerbackend/source/collectbuilddependencyaction.h +++ b/src/tools/clangpchmanagerbackend/source/collectbuilddependencyaction.h @@ -58,6 +58,7 @@ public: auto &preprocessor = compilerInstance.getPreprocessor(); preprocessor.SetSuppressIncludeNotFoundError(true); + preprocessor.SetMacroExpansionOnlyInDirectives(); auto macroPreprocessorCallbacks = new CollectBuildDependencyPreprocessorCallbacks( m_buildDependency, |