int main(int argc, char *argv[]) { QLoggingCategory::setFilterRules(QStringLiteral("*.debug=false")); QCoreApplication::setOrganizationName(QStringLiteral("QtProject")); QCoreApplication::setOrganizationDomain(QStringLiteral("qt-project.org")); QCoreApplication::setApplicationName(QStringLiteral("ClangBackend")); QCoreApplication::setApplicationVersion(QStringLiteral("1.0.0")); QCoreApplication application(argc, argv); const QString connection = processArguments(application); ClangBackEnd::Messages::registerMessages(); clang_toggleCrashRecovery(true); clang_enableStackTraces(); ClangBackEnd::ClangIpcServer clangIpcServer; ClangBackEnd::ConnectionServer connectionServer(connection); connectionServer.start(); connectionServer.setIpcServer(&clangIpcServer); return application.exec(); }
ClangCompleter::ClangCompleter() : clang_index_( clang_createIndex( 0, 0 ) ), translation_unit_store_( clang_index_ ) { // The libclang docs don't say what is the default value for crash recovery. // I'm pretty sure it's turned on by default, but I'm not going to take any // chances. clang_toggleCrashRecovery( true ); }
void initializeClang() { if (clangInitialised) return; QMutexLocker locker(&initialisationMutex); if (clangInitialised) return; clang_toggleCrashRecovery(1); clang_enableStackTraces(); clangInitialised = true; qRegisterMetaType<ClangCodeModel::Diagnostic>(); qRegisterMetaType<QList<ClangCodeModel::Diagnostic> >(); }
ClangWorkerThread::ClangWorkerThread() { clang_toggleCrashRecovery(1); }