From f8ee1422db60190aaad63d967584b0ffc52e9fd8 Mon Sep 17 00:00:00 2001 From: Ivan Komissarov Date: Wed, 1 May 2019 21:00:38 +0200 Subject: Fix uninitialized variables This fixes most of clang analyzer warnings about uninitialized variables in ctors Change-Id: I879c785594307ed3fe7140588338a6b2a1e4db65 Reviewed-by: Denis Shienkov Reviewed-by: Christian Kandeler --- src/app/config-ui/commandlineparser.h | 2 +- src/app/config/configcommandlineparser.h | 2 +- src/app/qbs-create-project/createproject.h | 2 +- src/app/qbs-setup-android/commandlineparser.h | 2 +- src/app/qbs-setup-qt/commandlineparser.h | 4 +- src/app/qbs-setup-toolchains/commandlineparser.h | 4 +- src/app/qbs/commandlinefrontend.h | 16 ++++---- src/app/qbs/qbstool.h | 4 +- src/lib/corelib/api/internaljobs.cpp | 12 +++--- src/lib/corelib/api/projectdata_p.h | 43 +++++++--------------- src/lib/corelib/buildgraph/artifactcleaner.h | 4 +- src/lib/corelib/buildgraph/buildgraphloader.h | 4 +- .../corelib/buildgraph/environmentscriptrunner.h | 2 +- src/lib/corelib/buildgraph/executor.cpp | 2 +- src/lib/corelib/buildgraph/executor.h | 12 +++--- src/lib/corelib/buildgraph/executorjob.h | 10 ++--- src/lib/corelib/buildgraph/jscommandexecutor.cpp | 2 +- src/lib/corelib/buildgraph/nodetreedumper.h | 2 +- src/lib/corelib/buildgraph/productbuilddata.h | 2 +- src/lib/corelib/buildgraph/rawscanneddependency.h | 2 +- src/lib/corelib/language/evaluationdata.h | 4 +- src/lib/corelib/language/identifiersearch.h | 2 +- src/lib/corelib/language/language.h | 24 +++++------- src/lib/corelib/language/moduleloader.h | 28 +++++++------- src/lib/corelib/language/projectresolver.cpp | 2 +- src/lib/corelib/language/projectresolver.h | 16 ++++---- src/lib/corelib/language/scriptimporter.cpp | 4 +- src/lib/corelib/logging/ilogsink.cpp | 3 +- src/lib/corelib/parser/qmljsparser_p.h | 6 +-- src/lib/corelib/tools/codelocation.cpp | 4 +- src/lib/corelib/tools/fileinfo.h | 2 +- src/lib/corelib/tools/filetime.h | 2 +- src/lib/corelib/tools/id.cpp | 10 ++--- src/lib/corelib/tools/launcherpackets.h | 12 +++--- src/lib/corelib/tools/msvcinfo.h | 2 +- src/lib/corelib/tools/persistence.h | 8 ++-- src/lib/corelib/tools/processresult_p.h | 6 +-- src/lib/corelib/tools/qbsprocess.h | 2 +- src/lib/corelib/tools/shellutils.h | 2 +- .../visualstudio/io/msbuildprojectwriter.cpp | 2 +- .../visualstudio/io/visualstudiosolutionwriter.cpp | 2 +- .../visualstudio/msbuild/items/msbuildfilter.cpp | 4 +- .../visualstudio/msbuildtargetproject.cpp | 4 +- .../visualstudio/visualstudiogenerator.cpp | 4 +- src/plugins/scanner/cpp/Lexer.h | 14 +++---- src/plugins/scanner/cpp/Token.h | 2 +- src/plugins/scanner/qt/qtscanner.cpp | 20 +++------- 47 files changed, 147 insertions(+), 177 deletions(-) (limited to 'src') diff --git a/src/app/config-ui/commandlineparser.h b/src/app/config-ui/commandlineparser.h index dc43d33b3..b8ab1a9f0 100644 --- a/src/app/config-ui/commandlineparser.h +++ b/src/app/config-ui/commandlineparser.h @@ -59,7 +59,7 @@ private: void assignOptionArgument(const QString &option, QString &argument); [[noreturn]] void complainAboutExtraArguments(); - bool m_helpRequested; + bool m_helpRequested = false; qbs::Settings::Scope m_settingsScope = qbs::Settings::UserScope; QString m_settingsDir; QStringList m_commandLine; diff --git a/src/app/config/configcommandlineparser.h b/src/app/config/configcommandlineparser.h index 22f6906f9..b567134fd 100644 --- a/src/app/config/configcommandlineparser.h +++ b/src/app/config/configcommandlineparser.h @@ -73,7 +73,7 @@ private: ConfigCommand m_command; qbs::Settings::Scopes m_scope = qbs::Settings::allScopes(); - bool m_helpRequested; + bool m_helpRequested = false; QString m_settingsDir; QStringList m_commandLine; }; diff --git a/src/app/qbs-create-project/createproject.h b/src/app/qbs-create-project/createproject.h index 95df434d9..efc217b68 100644 --- a/src/app/qbs-create-project/createproject.h +++ b/src/app/qbs-create-project/createproject.h @@ -82,7 +82,7 @@ private: std::vector subProjects; }; Project m_topLevelProject; - ProjectStructure m_projectStructure; + ProjectStructure m_projectStructure = ProjectStructure::Flat; QList m_whiteList; QList m_blackList; }; diff --git a/src/app/qbs-setup-android/commandlineparser.h b/src/app/qbs-setup-android/commandlineparser.h index 729f28cb9..3ce3eeb40 100644 --- a/src/app/qbs-setup-android/commandlineparser.h +++ b/src/app/qbs-setup-android/commandlineparser.h @@ -63,7 +63,7 @@ private: void assignOptionArgument(const QString &option, QString &argument); [[noreturn]] void complainAboutExtraArguments(); - bool m_helpRequested; + bool m_helpRequested = false; QString m_sdkDir; QString m_ndkDir; QString m_qtSdkDir; diff --git a/src/app/qbs-setup-qt/commandlineparser.h b/src/app/qbs-setup-qt/commandlineparser.h index a9ecb55c8..c766a9df2 100644 --- a/src/app/qbs-setup-qt/commandlineparser.h +++ b/src/app/qbs-setup-qt/commandlineparser.h @@ -63,8 +63,8 @@ private: void assignOptionArgument(const QString &option, QString &argument); [[noreturn]] void complainAboutExtraArguments(); - bool m_helpRequested; - bool m_autoDetectionMode; + bool m_helpRequested = false; + bool m_autoDetectionMode = false; qbs::Settings::Scope m_settingsScope = qbs::Settings::UserScope; QString m_qmakePath; QString m_profileName; diff --git a/src/app/qbs-setup-toolchains/commandlineparser.h b/src/app/qbs-setup-toolchains/commandlineparser.h index cb0949bf1..9d5b0c246 100644 --- a/src/app/qbs-setup-toolchains/commandlineparser.h +++ b/src/app/qbs-setup-toolchains/commandlineparser.h @@ -64,8 +64,8 @@ private: void assignOptionArgument(const QString &option, QString &argument); [[noreturn]] void complainAboutExtraArguments(); - bool m_helpRequested; - bool m_autoDetectionMode; + bool m_helpRequested = false; + bool m_autoDetectionMode = false; qbs::Settings::Scope m_settingsScope = qbs::Settings::UserScope; QString m_compilerPath; QString m_toolchainType; diff --git a/src/app/qbs/commandlinefrontend.h b/src/app/qbs/commandlinefrontend.h index 363e0b040..ebbde2baa 100644 --- a/src/app/qbs/commandlinefrontend.h +++ b/src/app/qbs/commandlinefrontend.h @@ -106,21 +106,21 @@ private: QString buildDirectory(const QString &profileName) const; const CommandLineParser &m_parser; - Settings * const m_settings; + Settings * const m_settings = nullptr; QList m_resolveJobs; QList m_buildJobs; QList m_projects; - ConsoleProgressObserver *m_observer; + ConsoleProgressObserver *m_observer = nullptr; enum CancelStatus { CancelStatusNone, CancelStatusRequested, CancelStatusCanceling }; - CancelStatus m_cancelStatus; - QTimer * const m_cancelTimer; + CancelStatus m_cancelStatus = CancelStatus::CancelStatusNone; + QTimer * const m_cancelTimer = nullptr; - int m_buildEffortsNeeded; - int m_buildEffortsRetrieved; - int m_totalBuildEffort; - int m_currentBuildEffort; + int m_buildEffortsNeeded = 0; + int m_buildEffortsRetrieved = 0; + int m_totalBuildEffort = 0; + int m_currentBuildEffort = 0; QHash m_buildEfforts; std::shared_ptr m_generator; }; diff --git a/src/app/qbs/qbstool.h b/src/app/qbs/qbstool.h index c1d7f75d8..e6d230361 100644 --- a/src/app/qbs/qbstool.h +++ b/src/app/qbs/qbstool.h @@ -57,8 +57,8 @@ public: int *exitCode = 0); private: - bool m_failedToStart; - int m_exitCode; + bool m_failedToStart = false; + int m_exitCode = 0; QString m_stdout; QString m_stderr; }; diff --git a/src/lib/corelib/api/internaljobs.cpp b/src/lib/corelib/api/internaljobs.cpp index 95c3dc02c..652ea3cdb 100644 --- a/src/lib/corelib/api/internaljobs.cpp +++ b/src/lib/corelib/api/internaljobs.cpp @@ -70,7 +70,7 @@ namespace Internal { class JobObserver : public ProgressObserver { public: - JobObserver(InternalJob *job) : m_canceled(false), m_job(job), m_timedLogger(nullptr) { } + JobObserver(InternalJob *job) : m_job(job) { } ~JobObserver() { delete m_timedLogger; } void cancel() @@ -116,12 +116,12 @@ private: return m_canceled; } - int m_value; - int m_maximum; + int m_value = 0; + int m_maximum = 0; mutable std::mutex m_cancelMutex; - bool m_canceled; - InternalJob * const m_job; - TimedActivityLogger *m_timedLogger; + bool m_canceled = false; + InternalJob * const m_job = nullptr; + TimedActivityLogger *m_timedLogger = nullptr; }; diff --git a/src/lib/corelib/api/projectdata_p.h b/src/lib/corelib/api/projectdata_p.h index 69b046b0c..834aeec23 100644 --- a/src/lib/corelib/api/projectdata_p.h +++ b/src/lib/corelib/api/projectdata_p.h @@ -50,61 +50,49 @@ namespace Internal { class InstallDataPrivate : public QSharedData { public: - InstallDataPrivate() : isValid(false) {} - QString installFilePath; QString installRoot; - bool isValid; - bool isInstallable; + bool isValid = false; + bool isInstallable = false; }; class ArtifactDataPrivate : public QSharedData { public: - ArtifactDataPrivate() : isValid(false) {} - QString filePath; QStringList fileTags; PropertyMap properties; InstallData installData; - bool isValid; - bool isGenerated; - bool isTargetArtifact; + bool isValid = false; + bool isGenerated = false; + bool isTargetArtifact = false; }; class GroupDataPrivate : public QSharedData { public: - GroupDataPrivate() : isValid(false) - { } - QString name; QString prefix; CodeLocation location; QList sourceArtifacts; QList sourceArtifactsFromWildcards; PropertyMap properties; - bool isEnabled; - bool isValid; + bool isEnabled = false; + bool isValid = false; }; class InstallableFilePrivate: public QSharedData { public: - InstallableFilePrivate() : isValid(false) {} - QString sourceFilePath; QString targetFilePath; QStringList fileTags; - bool isValid; + bool isValid = false; }; class ProductDataPrivate : public QSharedData { public: - ProductDataPrivate() : isValid(false) - { } - QStringList type; QStringList dependencies; QString name; @@ -117,22 +105,19 @@ public: QVariantMap properties; PropertyMap moduleProperties; QList generatedArtifacts; - bool isEnabled; - bool isRunnable; - bool isMultiplexed; - bool isValid; + bool isEnabled = false; + bool isRunnable = false; + bool isMultiplexed = false; + bool isValid = false; }; class ProjectDataPrivate : public QSharedData { public: - ProjectDataPrivate() : isValid(false) - { } - QString name; CodeLocation location; - bool enabled; - bool isValid; + bool enabled = false; + bool isValid = false; QList products; QList subProjects; QString buildDir; diff --git a/src/lib/corelib/buildgraph/artifactcleaner.h b/src/lib/corelib/buildgraph/artifactcleaner.h index 5a28b981a..5112a75d6 100644 --- a/src/lib/corelib/buildgraph/artifactcleaner.h +++ b/src/lib/corelib/buildgraph/artifactcleaner.h @@ -62,8 +62,8 @@ private: bool *isEmpty = nullptr); Logger m_logger; - bool m_hasError; - ProgressObserver *m_observer; + bool m_hasError = false; + ProgressObserver *m_observer = nullptr; }; } // namespace Internal diff --git a/src/lib/corelib/buildgraph/buildgraphloader.h b/src/lib/corelib/buildgraph/buildgraphloader.h index 9d34e2577..9363b8358 100644 --- a/src/lib/corelib/buildgraph/buildgraphloader.h +++ b/src/lib/corelib/buildgraph/buildgraphloader.h @@ -141,8 +141,8 @@ private: QStringList m_artifactsRemovedFromDisk; std::unordered_map> m_changedSourcesByProduct; Set m_productsWhoseArtifactsNeedUpdate; - qint64 m_wildcardExpansionEffort; - qint64 m_propertyComparisonEffort; + qint64 m_wildcardExpansionEffort = 0; + qint64 m_propertyComparisonEffort = 0; // These must only be deleted at the end so we can still peek into the old look-up table. QList m_objectsToDelete; diff --git a/src/lib/corelib/buildgraph/environmentscriptrunner.h b/src/lib/corelib/buildgraph/environmentscriptrunner.h index 344a764d0..221314798 100644 --- a/src/lib/corelib/buildgraph/environmentscriptrunner.h +++ b/src/lib/corelib/buildgraph/environmentscriptrunner.h @@ -69,7 +69,7 @@ private: const QProcessEnvironment m_env; QStringList m_runEnvConfig; - enum EnvType { BuildEnv, RunEnv } m_envType; + enum EnvType { BuildEnv, RunEnv } m_envType = EnvType::BuildEnv; }; } // namespace Internal diff --git a/src/lib/corelib/buildgraph/executor.cpp b/src/lib/corelib/buildgraph/executor.cpp index aeb199a64..24405ec5b 100644 --- a/src/lib/corelib/buildgraph/executor.cpp +++ b/src/lib/corelib/buildgraph/executor.cpp @@ -181,7 +181,7 @@ void Executor::setProducts(const std::vector &productsToBuil class ProductPrioritySetter { const std::vector &m_allProducts; - unsigned int m_priority; + unsigned int m_priority = 0; Set m_seenProducts; public: ProductPrioritySetter(const std::vector &allProducts) // TODO: Use only products to build? diff --git a/src/lib/corelib/buildgraph/executor.h b/src/lib/corelib/buildgraph/executor.h index f938d90c4..ddbb20c9d 100644 --- a/src/lib/corelib/buildgraph/executor.h +++ b/src/lib/corelib/buildgraph/executor.h @@ -180,17 +180,17 @@ private: Leaves m_leaves; InputArtifactScannerContext *m_inputArtifactScanContext; ErrorInfo m_error; - bool m_explicitlyCanceled; + bool m_explicitlyCanceled = false; FileTags m_activeFileTags; FileTags m_tagsOfFilesToConsider; FileTags m_tagsNeededForFilesToConsider; QList m_productsOfFilesToConsider; - QTimer * const m_cancelationTimer; + QTimer * const m_cancelationTimer = nullptr; QStringList m_artifactsRemovedFromDisk; - bool m_partialBuild; - qint64 m_elapsedTimeRules; - qint64 m_elapsedTimeScanners; - qint64 m_elapsedTimeInstalling; + bool m_partialBuild = false; + qint64 m_elapsedTimeRules = 0; + qint64 m_elapsedTimeScanners = 0; + qint64 m_elapsedTimeInstalling = 0; }; } // namespace Internal diff --git a/src/lib/corelib/buildgraph/executorjob.h b/src/lib/corelib/buildgraph/executorjob.h index e28d42f7f..c810973f7 100644 --- a/src/lib/corelib/buildgraph/executorjob.h +++ b/src/lib/corelib/buildgraph/executorjob.h @@ -88,12 +88,12 @@ private: void setFinished(); void reset(); - AbstractCommandExecutor *m_currentCommandExecutor; - ProcessCommandExecutor *m_processCommandExecutor; - JsCommandExecutor *m_jsCommandExecutor; - Transformer *m_transformer; + AbstractCommandExecutor *m_currentCommandExecutor = nullptr; + ProcessCommandExecutor *m_processCommandExecutor = nullptr; + JsCommandExecutor *m_jsCommandExecutor = nullptr; + Transformer *m_transformer = nullptr; Set m_jobPools; - int m_currentCommandIdx; + int m_currentCommandIdx = 0; ErrorInfo m_error; }; diff --git a/src/lib/corelib/buildgraph/jscommandexecutor.cpp b/src/lib/corelib/buildgraph/jscommandexecutor.cpp index 9972ce796..30970779c 100644 --- a/src/lib/corelib/buildgraph/jscommandexecutor.cpp +++ b/src/lib/corelib/buildgraph/jscommandexecutor.cpp @@ -62,7 +62,7 @@ namespace Internal { struct JavaScriptCommandResult { - bool success; + bool success = false; QString errorMessage; CodeLocation errorLocation; }; diff --git a/src/lib/corelib/buildgraph/nodetreedumper.h b/src/lib/corelib/buildgraph/nodetreedumper.h index 3ad3ca592..4175ce727 100644 --- a/src/lib/corelib/buildgraph/nodetreedumper.h +++ b/src/lib/corelib/buildgraph/nodetreedumper.h @@ -74,7 +74,7 @@ private: QIODevice &m_outDevice; ResolvedProductPtr m_currentProduct; NodeSet m_visited; - unsigned int m_indentation; + unsigned int m_indentation = 0; }; } // namespace Internal diff --git a/src/lib/corelib/buildgraph/productbuilddata.h b/src/lib/corelib/buildgraph/productbuilddata.h index bcc500de8..a7660af27 100644 --- a/src/lib/corelib/buildgraph/productbuilddata.h +++ b/src/lib/corelib/buildgraph/productbuilddata.h @@ -106,7 +106,7 @@ private: AllRescuableArtifactData m_rescuableArtifactData; // Do not store, initialized in executor. Higher prioritized artifacts are built first. - unsigned int m_buildPriority; + unsigned int m_buildPriority = 0; ArtifactSetByFileTag m_artifactsByFileTag; mutable std::mutex m_artifactsMapMutex; diff --git a/src/lib/corelib/buildgraph/rawscanneddependency.h b/src/lib/corelib/buildgraph/rawscanneddependency.h index e1cb5015c..4871bea62 100644 --- a/src/lib/corelib/buildgraph/rawscanneddependency.h +++ b/src/lib/corelib/buildgraph/rawscanneddependency.h @@ -72,7 +72,7 @@ private: QString m_dirPath; QString m_fileName; - bool m_isClean; + bool m_isClean = 0; }; bool operator==(const RawScannedDependency &d1, const RawScannedDependency &d2); diff --git a/src/lib/corelib/language/evaluationdata.h b/src/lib/corelib/language/evaluationdata.h index efd504a11..791b2f234 100644 --- a/src/lib/corelib/language/evaluationdata.h +++ b/src/lib/corelib/language/evaluationdata.h @@ -55,8 +55,8 @@ class Item; class EvaluationData { public: - Evaluator *evaluator; - const Item *item; + Evaluator *evaluator = nullptr; + const Item *item = nullptr; mutable QHash valueCache; }; diff --git a/src/lib/corelib/language/identifiersearch.h b/src/lib/corelib/language/identifiersearch.h index d9769266c..7d99c0f13 100644 --- a/src/lib/corelib/language/identifiersearch.h +++ b/src/lib/corelib/language/identifiersearch.h @@ -61,7 +61,7 @@ private: bool visit(QbsQmlJS::AST::IdentifierExpression *e) override; QMap m_requests; - int m_numberOfFoundIds; + int m_numberOfFoundIds = 0; }; } // namespace Internal diff --git a/src/lib/corelib/language/language.h b/src/lib/corelib/language/language.h index 945ec9806..3dbe90747 100644 --- a/src/lib/corelib/language/language.h +++ b/src/lib/corelib/language/language.h @@ -162,7 +162,7 @@ private: QVariantMap m_properties; QVariantMap m_initialProperties; std::vector m_importedFilesUsed; - bool m_condition; + bool m_condition = false; }; class RuleArtifact @@ -280,14 +280,14 @@ public: CodeLocation location; QString name; - bool enabled; + bool enabled = true; QString prefix; std::vector files; std::unique_ptr wildcards; PropertyMapPtr properties; FileTags fileTags; QString targetOfModule; - bool overrideTags; + bool overrideTags = false; std::vector allFiles() const; @@ -295,10 +295,6 @@ public: void store(PersistentPool &pool); private: - ResolvedGroup() - : enabled(true) - {} - template void serializationOp(PersistentPool &pool) { pool.serializationOp(name, enabled, location, prefix, files, wildcards, properties, @@ -370,7 +366,7 @@ public: PrivateScriptFunction setupBuildEnvironmentScript; PrivateScriptFunction setupRunEnvironmentScript; ResolvedProduct *product = nullptr; - bool isProduct; + bool isProduct = false; static QStringList argumentNamesForSetupBuildEnv(); static QStringList argumentNamesForSetupRunEnv(); @@ -414,13 +410,13 @@ public: FileTags inputsFromDependencies; FileTags explicitlyDependsOn; FileTags explicitlyDependsOnFromDependencies; - bool multiplex; - bool requiresInputs; + bool multiplex = false; + bool requiresInputs = false; std::vector artifacts; // unused, if outputFileTags/outputArtifactsScript is non-empty - bool alwaysRun; + bool alwaysRun = false; // members that we don't need to save - int ruleGraphId; + int ruleGraphId = -1; static QStringList argumentNamesForOutputArtifacts(); static QStringList argumentNamesForPrepare(); @@ -440,7 +436,7 @@ public: requiresInputs, alwaysRun, artifacts); } private: - Rule() : multiplex(false), alwaysRun(false), ruleGraphId(-1) {} + Rule() = default; }; bool operator==(const Rule &r1, const Rule &r2); inline bool operator!=(const Rule &r1, const Rule &r2) { return !(r1 == r2); } @@ -477,7 +473,7 @@ public: } QString fullName; - PropertyDeclaration::Type type; + PropertyDeclaration::Type type = PropertyDeclaration::Type::UnknownType; QString sourceCode; bool isBuiltin = false; }; diff --git a/src/lib/corelib/language/moduleloader.h b/src/lib/corelib/language/moduleloader.h index a8190596d..85a2467f2 100644 --- a/src/lib/corelib/language/moduleloader.h +++ b/src/lib/corelib/language/moduleloader.h @@ -175,7 +175,7 @@ private: class ProductContext : public ContextBase { public: - ProjectContext *project; + ProjectContext *project = nullptr; ModuleLoaderResult::ProductInfo info; QString profileName; QString multiplexConfigurationId; @@ -201,8 +201,8 @@ private: class ProjectContext : public ContextBase { public: - TopLevelProjectContext *topLevelProject; - ModuleLoaderResult *result; + TopLevelProjectContext *topLevelProject = nullptr; + ModuleLoaderResult *result = nullptr; std::vector products; std::vector searchPathsStack; }; @@ -232,7 +232,7 @@ private: public: ProductContext *product = nullptr; Item *exportingProductItem = nullptr; - ProductDependencies *productDependencies; + ProductDependencies *productDependencies = nullptr; }; void handleTopLevelProject(ModuleLoaderResult *loadResult, Item *projectItem, @@ -457,16 +457,16 @@ private: Version m_qbsVersion; Item *m_tempScopeItem = nullptr; - qint64 m_elapsedTimeProbes; - qint64 m_elapsedTimePrepareProducts; - qint64 m_elapsedTimeProductDependencies; - qint64 m_elapsedTimeTransitiveDependencies; - qint64 m_elapsedTimeHandleProducts; - qint64 m_elapsedTimePropertyChecking; - quint64 m_probesEncountered; - quint64 m_probesRun; - quint64 m_probesCachedCurrent; - quint64 m_probesCachedOld; + qint64 m_elapsedTimeProbes = 0; + qint64 m_elapsedTimePrepareProducts = 0; + qint64 m_elapsedTimeProductDependencies = 0; + qint64 m_elapsedTimeTransitiveDependencies = 0; + qint64 m_elapsedTimeHandleProducts = 0; + qint64 m_elapsedTimePropertyChecking = 0; + quint64 m_probesEncountered = 0; + quint64 m_probesRun = 0; + quint64 m_probesCachedCurrent = 0; + quint64 m_probesCachedOld = 0; Set m_projectNamesUsedInOverrides; Set m_productNamesUsedInOverrides; Set m_disabledProjects; diff --git a/src/lib/corelib/language/projectresolver.cpp b/src/lib/corelib/language/projectresolver.cpp index 50c177f43..049472310 100644 --- a/src/lib/corelib/language/projectresolver.cpp +++ b/src/lib/corelib/language/projectresolver.cpp @@ -98,7 +98,7 @@ struct ProjectResolver::ProductContext { ResolvedProductPtr product; QString buildDirectory; - Item *item; + Item *item = nullptr; using ArtifactPropertiesInfo = std::pair>; QHash artifactPropertiesPerFilter; ProjectResolver::FileLocations sourceArtifactLocations; diff --git a/src/lib/corelib/language/projectresolver.h b/src/lib/corelib/language/projectresolver.h index c958127e4..428ba144d 100644 --- a/src/lib/corelib/language/projectresolver.h +++ b/src/lib/corelib/language/projectresolver.h @@ -172,12 +172,12 @@ private: void setupExportedProperties(const Item *item, const QString &namePrefix, std::vector &properties); - Evaluator *m_evaluator; + Evaluator *m_evaluator = nullptr; Logger &m_logger; - ScriptEngine *m_engine; - ProgressObserver *m_progressObserver; - ProductContext *m_productContext; - ModuleContext *m_moduleContext; + ScriptEngine *m_engine = nullptr; + ProgressObserver *m_progressObserver = nullptr; + ProductContext *m_productContext = nullptr; + ModuleContext *m_moduleContext = nullptr; QMap m_productsByName; QHash > m_productsByType; QHash m_productItemMap; @@ -190,9 +190,9 @@ private: Set m_groupLocationWarnings; std::vector> m_productExportInfo; std::vector m_queuedErrors; - qint64 m_elapsedTimeModPropEval; - qint64 m_elapsedTimeAllPropEval; - qint64 m_elapsedTimeGroups; + qint64 m_elapsedTimeModPropEval = 0; + qint64 m_elapsedTimeAllPropEval = 0; + qint64 m_elapsedTimeGroups = 0; typedef void (ProjectResolver::*ItemFuncPtr)(Item *item, ProjectContext *projectContext); using ItemFuncMap = QMap; diff --git a/src/lib/corelib/language/scriptimporter.cpp b/src/lib/corelib/language/scriptimporter.cpp index c5dc887b7..9c6d4d38e 100644 --- a/src/lib/corelib/language/scriptimporter.cpp +++ b/src/lib/corelib/language/scriptimporter.cpp @@ -109,8 +109,8 @@ private: m_suffix += name; } - bool m_first; - bool m_barrier; + bool m_first = false; + bool m_barrier = false; QString m_suffix; }; diff --git a/src/lib/corelib/logging/ilogsink.cpp b/src/lib/corelib/logging/ilogsink.cpp index bc2f36e61..4eb930cbf 100644 --- a/src/lib/corelib/logging/ilogsink.cpp +++ b/src/lib/corelib/logging/ilogsink.cpp @@ -78,13 +78,12 @@ QString logLevelName(LoggerLevel level) class ILogSink::ILogSinkPrivate { public: - LoggerLevel logLevel; + LoggerLevel logLevel = defaultLogLevel(); std::mutex mutex; }; ILogSink::ILogSink() : d(new ILogSinkPrivate) { - d->logLevel = defaultLogLevel(); } ILogSink::~ILogSink() diff --git a/src/lib/corelib/parser/qmljsparser_p.h b/src/lib/corelib/parser/qmljsparser_p.h index 05e22074b..c761bb25b 100644 --- a/src/lib/corelib/parser/qmljsparser_p.h +++ b/src/lib/corelib/parser/qmljsparser_p.h @@ -212,13 +212,13 @@ protected: enum { TOKEN_BUFFER_SIZE = 3 }; struct SavedToken { - int token; - double dval; + int token = 0; + double dval = 0.0; AST::SourceLocation loc; QStringRef spell; }; - double yylval; + double yylval = 0.0; QStringRef yytokenspell; AST::SourceLocation yylloc; AST::SourceLocation yyprevlloc; diff --git a/src/lib/corelib/tools/codelocation.cpp b/src/lib/corelib/tools/codelocation.cpp index 57b577711..2c6ade3b0 100644 --- a/src/lib/corelib/tools/codelocation.cpp +++ b/src/lib/corelib/tools/codelocation.cpp @@ -68,8 +68,8 @@ public: } QString filePath; - int line; - int column; + int line = 0; + int column = 0; }; CodeLocation::CodeLocation() diff --git a/src/lib/corelib/tools/fileinfo.h b/src/lib/corelib/tools/fileinfo.h index 723d83424..9813b69a7 100644 --- a/src/lib/corelib/tools/fileinfo.h +++ b/src/lib/corelib/tools/fileinfo.h @@ -96,7 +96,7 @@ private: #else # error unknown platform #endif - InternalStatType m_stat; + InternalStatType m_stat{}; }; bool removeFileRecursion(const QFileInfo &f, QString *errorMessage); diff --git a/src/lib/corelib/tools/filetime.h b/src/lib/corelib/tools/filetime.h index 7daec6415..f9a15f794 100644 --- a/src/lib/corelib/tools/filetime.h +++ b/src/lib/corelib/tools/filetime.h @@ -115,7 +115,7 @@ public: } private: - InternalType m_fileTime; + InternalType m_fileTime{}; }; } // namespace Internal diff --git a/src/lib/corelib/tools/id.cpp b/src/lib/corelib/tools/id.cpp index 9d31d3776..6dd1147f2 100644 --- a/src/lib/corelib/tools/id.cpp +++ b/src/lib/corelib/tools/id.cpp @@ -69,9 +69,7 @@ namespace Internal { class StringHolder { public: - StringHolder() - : n(0), str(nullptr) - {} + StringHolder() = default; StringHolder(const char *s, int length) : n(length), str(s) @@ -85,9 +83,9 @@ public: h &= 0x0fffffff; } } - int n; - const char *str; - uint h; + int n = 0; + const char *str = nullptr; + uint h = 0; }; static bool operator==(const StringHolder &sh1, const StringHolder &sh2) diff --git a/src/lib/corelib/tools/launcherpackets.h b/src/lib/corelib/tools/launcherpackets.h index 0988761e7..4306718fd 100644 --- a/src/lib/corelib/tools/launcherpackets.h +++ b/src/lib/corelib/tools/launcherpackets.h @@ -73,8 +73,8 @@ public: private: QDataStream m_stream; - LauncherPacketType m_type; - quintptr m_token; + LauncherPacketType m_type = LauncherPacketType::Shutdown; + quintptr m_token = 0; QByteArray m_packetData; int m_sizeOfNextPacket = -1; }; @@ -95,7 +95,7 @@ public: void deserialize(const QByteArray &data); const LauncherPacketType type; - const quintptr token; + const quintptr token = 0; protected: LauncherPacket(LauncherPacketType type, quintptr token) : type(type), token(token) { } @@ -161,9 +161,9 @@ public: QString errorString; QByteArray stdOut; QByteArray stdErr; - QProcess::ExitStatus exitStatus; - QProcess::ProcessError error; - int exitCode; + QProcess::ExitStatus exitStatus = QProcess::ExitStatus::NormalExit; + QProcess::ProcessError error = QProcess::ProcessError::UnknownError; + int exitCode = 0; private: void doSerialize(QDataStream &stream) const override; diff --git a/src/lib/corelib/tools/msvcinfo.h b/src/lib/corelib/tools/msvcinfo.h index 5f542fc97..b5cf04e84 100644 --- a/src/lib/corelib/tools/msvcinfo.h +++ b/src/lib/corelib/tools/msvcinfo.h @@ -102,7 +102,7 @@ private: class WinSDK : public MSVC { public: - bool isDefault; + bool isDefault = false; WinSDK() { diff --git a/src/lib/corelib/tools/persistence.h b/src/lib/corelib/tools/persistence.h index 6be0ae8e4..3688cc32f 100644 --- a/src/lib/corelib/tools/persistence.h +++ b/src/lib/corelib/tools/persistence.h @@ -172,17 +172,17 @@ private: std::vector m_loadedRaw; std::vector> m_loaded; QHash m_storageIndices; - PersistentObjectId m_lastStoredObjectId; + PersistentObjectId m_lastStoredObjectId = 0; std::vector m_stringStorage; QHash m_inverseStringStorage; - PersistentObjectId m_lastStoredStringId; + PersistentObjectId m_lastStoredStringId = 0; std::vector m_envStorage; QHash m_inverseEnvStorage; - PersistentObjectId m_lastStoredEnvId; + PersistentObjectId m_lastStoredEnvId = 0; std::vector m_stringListStorage; QHash m_inverseStringListStorage; - PersistentObjectId m_lastStoredStringListId; + PersistentObjectId m_lastStoredStringListId = 0; Logger &m_logger; template diff --git a/src/lib/corelib/tools/processresult_p.h b/src/lib/corelib/tools/processresult_p.h index 141dd9301..69ccb8598 100644 --- a/src/lib/corelib/tools/processresult_p.h +++ b/src/lib/corelib/tools/processresult_p.h @@ -48,14 +48,14 @@ namespace Internal { class ProcessResultPrivate : public QSharedData { public: - bool success; + bool success = false; QString executableFilePath; QStringList arguments; QString workingDirectory; - QProcess::ProcessError error; - int exitCode; + QProcess::ProcessError error = QProcess::ProcessError::UnknownError; + int exitCode = 0; QStringList stdOut; QStringList stdErr; }; diff --git a/src/lib/corelib/tools/qbsprocess.h b/src/lib/corelib/tools/qbsprocess.h index 07f344e8a..2181818f0 100644 --- a/src/lib/corelib/tools/qbsprocess.h +++ b/src/lib/corelib/tools/qbsprocess.h @@ -95,7 +95,7 @@ private: QString m_errorString; QProcess::ProcessError m_error = QProcess::UnknownError; QProcess::ProcessState m_state = QProcess::NotRunning; - int m_exitCode; + int m_exitCode = 0; int m_connectionAttempts = 0; bool m_socketError = false; }; diff --git a/src/lib/corelib/tools/shellutils.h b/src/lib/corelib/tools/shellutils.h index c148db4b8..6f1d82afb 100644 --- a/src/lib/corelib/tools/shellutils.h +++ b/src/lib/corelib/tools/shellutils.h @@ -83,7 +83,7 @@ private: bool shouldQuote = true; }; - bool m_isRawProgram; + bool m_isRawProgram = false; QString m_program; std::vector m_arguments; }; diff --git a/src/plugins/generator/visualstudio/io/msbuildprojectwriter.cpp b/src/plugins/generator/visualstudio/io/msbuildprojectwriter.cpp index c5684e5ba..634bb2381 100644 --- a/src/plugins/generator/visualstudio/io/msbuildprojectwriter.cpp +++ b/src/plugins/generator/visualstudio/io/msbuildprojectwriter.cpp @@ -51,7 +51,7 @@ static const QString kMSBuildSchemaURI = class MSBuildProjectWriterPrivate : public IMSBuildNodeVisitor { public: - std::ostream *device; + std::ostream *device = nullptr; QByteArray buffer; std::unique_ptr writer; diff --git a/src/plugins/generator/visualstudio/io/visualstudiosolutionwriter.cpp b/src/plugins/generator/visualstudio/io/visualstudiosolutionwriter.cpp index 07e8d81b8..e980249d6 100644 --- a/src/plugins/generator/visualstudio/io/visualstudiosolutionwriter.cpp +++ b/src/plugins/generator/visualstudio/io/visualstudiosolutionwriter.cpp @@ -54,7 +54,7 @@ using namespace Internal; class VisualStudioSolutionWriterPrivate { public: - std::ostream *device; + std::ostream *device = nullptr; std::string baseDir; }; diff --git a/src/plugins/generator/visualstudio/msbuild/items/msbuildfilter.cpp b/src/plugins/generator/visualstudio/msbuild/items/msbuildfilter.cpp index 3a5d98a98..f7c506651 100644 --- a/src/plugins/generator/visualstudio/msbuild/items/msbuildfilter.cpp +++ b/src/plugins/generator/visualstudio/msbuild/items/msbuildfilter.cpp @@ -44,8 +44,8 @@ public: QList extensions; bool parseFiles = true; bool sourceControlFiles = true; - MSBuildItemMetadata *identifierMetadata; - MSBuildItemMetadata *extensionsMetadata; + MSBuildItemMetadata *identifierMetadata = nullptr; + MSBuildItemMetadata *extensionsMetadata = nullptr; }; MSBuildFilter::MSBuildFilter(IMSBuildItemGroup *parent) diff --git a/src/plugins/generator/visualstudio/msbuildtargetproject.cpp b/src/plugins/generator/visualstudio/msbuildtargetproject.cpp index 08315cc08..154f8dccc 100644 --- a/src/plugins/generator/visualstudio/msbuildtargetproject.cpp +++ b/src/plugins/generator/visualstudio/msbuildtargetproject.cpp @@ -46,8 +46,8 @@ class MSBuildTargetProjectPrivate public: MSBuildTargetProjectPrivate(const Internal::VisualStudioVersionInfo &versionInfo) : versionInfo(versionInfo) {} - MSBuildPropertyGroup *globalsPropertyGroup; - MSBuildProperty *projectGuidProperty; + MSBuildPropertyGroup *globalsPropertyGroup = nullptr; + MSBuildProperty *projectGuidProperty = nullptr; const Internal::VisualStudioVersionInfo &versionInfo; }; diff --git a/src/plugins/generator/visualstudio/visualstudiogenerator.cpp b/src/plugins/generator/visualstudio/visualstudiogenerator.cpp index 04fc5a52e..ace55b6e6 100644 --- a/src/plugins/generator/visualstudio/visualstudiogenerator.cpp +++ b/src/plugins/generator/visualstudio/visualstudiogenerator.cpp @@ -144,8 +144,8 @@ public: } private: - VisualStudioGenerator *generator; - VisualStudioSolutionGlobalSection *nestedProjects; + VisualStudioGenerator *generator = nullptr; + VisualStudioSolutionGlobalSection *nestedProjects = nullptr; }; VisualStudioGenerator::VisualStudioGenerator(const VisualStudioVersionInfo &versionInfo) diff --git a/src/plugins/scanner/cpp/Lexer.h b/src/plugins/scanner/cpp/Lexer.h index 2b843a14a..1cf829ebb 100644 --- a/src/plugins/scanner/cpp/Lexer.h +++ b/src/plugins/scanner/cpp/Lexer.h @@ -145,17 +145,17 @@ private: unsigned _objCEnabled: 1; }; - const char *_firstChar; - const char *_currentChar; - const char *_lastChar; - const char *_tokenStart; - unsigned char _yychar; - int _state; + const char *_firstChar = nullptr; + const char *_currentChar = nullptr; + const char *_lastChar = nullptr; + const char *_tokenStart = nullptr; + unsigned char _yychar = 0; + int _state = 0; union { unsigned _flags; Flags f; }; - unsigned _currentLine; + unsigned _currentLine = 0; }; } // end of namespace CPlusPlus diff --git a/src/plugins/scanner/cpp/Token.h b/src/plugins/scanner/cpp/Token.h index 286c71a48..846aa5a12 100644 --- a/src/plugins/scanner/cpp/Token.h +++ b/src/plugins/scanner/cpp/Token.h @@ -353,7 +353,7 @@ public: Flags f; }; - unsigned offset; + unsigned offset = 0; union { void *ptr; diff --git a/src/plugins/scanner/qt/qtscanner.cpp b/src/plugins/scanner/qt/qtscanner.cpp index 51faadab3..40d062e1f 100644 --- a/src/plugins/scanner/qt/qtscanner.cpp +++ b/src/plugins/scanner/qt/qtscanner.cpp @@ -68,24 +68,16 @@ struct OpaqQrc { #ifdef Q_OS_UNIX - int fd; - int mapl; + int fd = 0; + int mapl = 0; #else - QFile *file; + QFile *file = nullptr; #endif - char *map; - QXmlStreamReader *xml; + char *map = nullptr; + QXmlStreamReader *xml = nullptr; QByteArray current; - OpaqQrc() -#ifdef Q_OS_UNIX - : fd (0), -#else - : file(nullptr), -#endif - map(nullptr), - xml(nullptr) - {} + OpaqQrc() = default; ~OpaqQrc() { -- cgit v1.2.3